Belajar Python: Proses Data JSON dari File dan API Web

Belajar Python: Proses Data JSON dari File dan API Web

id8 min read • 2994 views

Belajar Python: Proses Data JSON dari File dan API Web

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan dan mudah dibaca oleh manusia maupun mesin. Format ini sangat populer dalam pengembangan aplikasi, terutama dalam komunikasi antar sistem seperti REST API. Python, sebagai salah satu bahasa pemrograman yang populer, memiliki dukungan penuh untuk memproses data JSON, baik dari file maupun dari sumber API web. Dalam artikel ini, kita akan belajar cara mengolah data JSON di Python menggunakan modul `json`, serta bagaimana mengambil data JSON dari server API menggunakan `urllib`. Mari kita mulai dengan memahami dasar-dasar JSON dan cara memprosesnya di Python!

Pengenalan Singkat tentang JSON

JSON adalah format data berbasis teks yang merepresentasikan struktur objek menggunakan pasangan kunci-nilai. JSON dapat mengandung tipe data primitif seperti string, angka, boolean, array (list), dan objek (dictionary). Sebagai contoh, berikut adalah data JSON sederhana:

```json
{
    "name": "Petani Kode",
    "web": "https://www.petanikode.com",
    "social_media": {
        "facebook": "petanikode",
        "twitter": "@petanikode",
        "instagram": "@petanikode"
    }
}
```

Data JSON ini menyimpan informasi tentang nama, situs web, dan akun media sosial. Format JSON ini dapat dibaca dan diolah di berbagai bahasa pemrograman, termasuk Python. Namun, sebelum kita bisa bekerja dengan data JSON di Python, kita harus melakukan proses parsing.

Baca Juga

 

Cara Parsing JSON di Python

Parsing berarti menguraikan data JSON agar bisa digunakan di dalam program Python. Di Python, kita dapat melakukan parsing JSON dengan bantuan modul `json` yang sudah tersedia secara default. Berikut adalah langkah-langkahnya:

  • Menyiapkan File JSON

Langkah pertama adalah membuat file JSON yang akan diproses. Misalnya, kita buat file bernama `dataku.json` yang berisi data sebagai berikut:

```json
{
    "name": "Petani Kode",
    "web": "https://www.petanikode.com",
    "social_media": {
        "facebook": "petanikode",
        "twitter": "@petanikode",
        "instagram": "@petanikode"
    }
}
```

Pastikan format JSON-nya benar dengan memvalidasinya menggunakan layanan seperti JSONLint. Ini memastikan data dapat dibaca oleh program Python tanpa masalah.

  • Membuat Program untuk Membaca File JSON

Setelah file JSON siap, buat file Python baru, misalnya `baca_data_json.py`. Kita akan menggunakan modul `json` untuk membaca dan mengurai data dari file JSON tersebut.

```python
import json


# Membuka file JSON
with open("dataku.json") as file_json:
    # Parsing data JSON
    data = json.load(file_json)


# Menampilkan isi data JSON
print(f"Nama: {data['name']}")
print(f"Website: {data['web']}")
print("Sosial Media:")
print(f"- Facebook: {data['social_media']['facebook']}")
print(f"- Twitter: {data['social_media']['twitter']}")
print(f"- Instagram: {data['social_media']['instagram']}")
```

Dalam kode di atas, kita menggunakan `json.load()` untuk membaca data JSON langsung dari file. Dengan metode ini, kita menghindari langkah tambahan membaca file sebagai string sebelum memparsingnya. Setelah data terbaca, kita menampilkan konten JSON dengan memformatnya menggunakan f-string agar hasilnya lebih rapi.

 

Parsing JSON dari API Web

Setelah memahami cara membaca JSON dari file lokal, mari kita coba mengambil data JSON dari API web. Untuk melakukan ini, kita membutuhkan modul `urllib`, yang menyediakan fungsi `urlopen()` untuk melakukan request HTTP ke server.

Misalnya, kita akan mengambil data profil pengguna dari API GitHub. Endpoint yang kita gunakan adalah:

```
https://api.github.com/users/ardianta
```

Kode lengkap untuk mengambil dan memproses data JSON dari API ini adalah sebagai berikut:

```python
import json
from urllib import request


# Tentukan URL endpoint
url = "https://api.github.com/users/ardianta"


# Melakukan HTTP request ke server
response = request.urlopen(url)


# Parsing data JSON
data = json.load(response)


# Menampilkan hasil parsing data
print("== Profil Github ==")
print(f"Nama: {data.get('name', 'Tidak tersedia')}")
print(f"Lokasi: {data.get('location', 'Tidak tersedia')}")
print(f"Institusi: {data.get('company', 'Tidak tersedia')}")
print(f"Follower: {data.get('followers', 'Tidak tersedia')}")
print(f"Tanggal bergabung: {data.get('created_at', 'Tidak tersedia')}")
```

Di sini, kita menggunakan `json.load()` lagi untuk parsing data JSON dari respons HTTP. Kita juga menggunakan `get()` untuk mengambil nilai dari kunci tertentu, dengan nilai default untuk menghindari error jika kunci tidak ditemukan.

  • Hasil Eksekusi

Setelah program dijalankan, kita akan melihat informasi profil GitHub dari pengguna `ardianta` dalam format yang lebih mudah dibaca.

 

Menangani Error pada Parsing JSON

Ketika memproses JSON, kita perlu memperhatikan kemungkinan error yang terjadi. Misalnya, jika data JSON tidak valid atau tidak ditemukan, Python akan menampilkan error. Oleh karena itu, kita perlu menambahkan penanganan error dengan menggunakan blok `try-except`.

Contoh:

```python
import json


try:
    # Membuka dan parsing file JSON
    with open("dataku.json") as file_json:
        data = json.load(file_json)
except FileNotFoundError:
    print("File tidak ditemukan!")
except json.JSONDecodeError:
    print("Data JSON tidak valid!")
else:
    # Menampilkan data jika tidak ada error
    print(f"Nama: {data['name']}")
    print(f"Website: {data['web']}")
```

Dengan adanya blok `try-except`, program tidak akan langsung gagal jika terjadi error, melainkan akan menampilkan pesan kesalahan yang lebih informatif.

 

Mengolah Data JSON dalam Program Python

Setelah JSON berhasil diparsing, data ini umumnya akan berupa `dictionary` atau `list` di Python, tergantung pada struktur JSON-nya. Kita bisa memanipulasi data ini seperti objek Python biasa. Contoh penggunaan data JSON untuk aplikasi lebih lanjut adalah:

  • Menggabungkan data JSON dengan data lainnya: Kita bisa menggabungkan data JSON yang sudah diparsing dengan data dari sumber lain atau melakukan operasi perhitungan.
  • Mengubah struktur data JSON: Misalnya, kita bisa menambahkan atau menghapus elemen pada `dictionary` atau `list`.
  • Menyimpan hasil manipulasi kembali ke JSON: Setelah mengolah data, kita bisa menyimpan hasilnya kembali dalam bentuk file JSON.

Contoh:

```python
# Menambahkan data baru ke JSON
data['email'] = '[email protected]'


# Menyimpan data kembali ke file JSON
with open("dataku_updated.json", "w") as outfile:
    json.dump(data, outfile, indent=4)
```

Kode di atas menambahkan data email baru ke `dictionary` dan kemudian menyimpan kembali data ke file JSON baru (`dataku_updated.json`). Parameter `indent=4` membuat file JSON lebih rapi.

 

Kesimpulan

Memproses data JSON di Python sangatlah sederhana berkat adanya modul `json`. Kita dapat dengan mudah membaca, memanipulasi, dan menyimpan data JSON, baik dari file lokal maupun dari API web. Dengan kemampuan ini, Anda bisa mengembangkan aplikasi Python yang bisa berkomunikasi dengan sistem lain melalui JSON, membuat aplikasi lebih fleksibel dan adaptif. Teruslah eksplorasi dan coba berbagai API untuk melatih keterampilan Anda dalam memproses data JSON di Python!

Series: Python
  1. Pengertian dan Kegunaan Bahasa Pemrograman Python
  2. Phyton 1 : Tutorial Pengenalan Dasar
  3. Phyton 2 : Macam Penulisan Sintaks
  4. Phyton 3 : Konsep Variabel dan Data
  5. Phyton 4 - Cara Mengambil Input dan Output
  6. Phyton 5 : Jenis-jenis Operator
  7. Phyton 6 - Percabangan
  8. Phyton 7 - Perulangan
  9. Phyton 8 - Struktur Data List
  10. 4 Variasi Fungsi Print () Pada Phyton
  11. Tutorial Python: Struktur Data Dictionary
  12. Phyton 9 - Struktur Data Tuple
  13. Phyton 9 : Struktur Data Tuple Part 2
  14. 5 Variasi Coding Python dengan Fungsi Concatenate, Yuk, Coba
  15. PyScript: Masa Depan Python di Browser ?
  16. 7 Hal Dasar yang Harus Diketahui Tentang Dictionary pada Python
  17. Memahami Fungsi dan Prosedur pada Python
  18. 6 Proyek Coding Python untuk Meningkatkan Portofolio Anda
  19. Tutorial Python: Membaca dan Menulis File dengan Lebih Mendalam
  20. Cara Baca Dan Parse File CSV di Python
  21. 7 Teknik Membuat Dictionary di Python dengan Data dari Berbagai Sumber
  22. 5 Kesalahan Umum dalam Menggunakan Dictionary di Python dan Cara Menghindarinya
  23. Belajar Python: Proses Data JSON dari File dan API Web
  24. Belajar Python: Buat Fungsi Dengan Lambda Expression
  25. Apa Maksud dari *args dan kwargs pada Python?
  26. Tutorial Membuat 3 Jenis Kalkulator Dengan Python
  27. Panduan Lengkap: Cara Menghapus Item di List Python Tanpa Drama
  28. Cara Bangun Dashboard di Jupyter Pakai Solara
  29. 6 Perintah pip yang Harus Diketahui Setiap Developer Python
  30. Panduan Lengkap Menggunakan pip: Manajer Paket Python yang Wajib Dikuasai
  31. Rekomendasi 6 Framework Terbaik untuk Python: Dari Santai Sampai Superhero!
  32. Benar Nggak Sih Python Ramah untuk Programmer Pemula?
  33. Optimasi Performa Perbandingan Dokumen di Python: Ketika CPU Lo Kerja Rodi!
  34. Mengupas Tuntas Cara Mengiterasi Dictionary di Python: Panduan Lengkap yang Gak Bikin Pusing!
  35. 5 Proyek AI Seru yang Bisa Lo Bangun Weekend Ini dengan Python
  36. Rust vs Python: Duel Sengit Bahasa Pemrograman! Mana yang Cocok Buat Lo?
  37. 6 Trik Python Terbaru 2025 yang Wajib Dicoba Programmer
  38. Tutorial Lengkap Membuat News Aggregator Menggunakan Python
  39. Stop Nulis Function Python Kayak Gini, Bro!
  40. 7 Python Decorators yang Bikin Kode Lo Makin Canggih
  41. Trik Python debugging yang wajib lo coba.
  42. Membangun List di Python: Filosofi, Teknik, dan Tips Anti-Kudet
  43. DERET FAKTORIAL: SI "BAHAN VIRAL" MATEMATIKA YANG BIKIN KODE LO NAIK LEVEL!
  44. Project Python Seru: Bikin Script Otomatisasi Pengorganisir File (Biar Folder Download Nggak Kayak Gudang)
  45. Automating Email Sending Via Phyton – Biar Jempol Lo Pensiun Dini
  46. Project 2: Automating Web Scraping for Data Collection dengan Python
  47. Automatisasi Tugas GUI dengan PyAutoGUI
  48. Cara Lama vs Cara Kekinian: Belajar dataclass Python
  49. Automatisasi Laporan PDF dengan Python
  50. Membongkar Rahasia field() di Python: Kendali Penuh atas Dataclass
  51. Praktik Lanjutan Menulis Kode Python yang Bersih dan Ramah Pemula
  52. Python Function Annotations: Fitur Keren yang Sering Diremehkan, Padahal Bikin Kamu Terlihat Programmer Cerdas
  53. Python Keyword Arguments: Panduan Bad Boy Buat Programmer Biar Nggak Salah Urus Function
  54. Belajar Fungsi Tanpa Parameter Python dari Nol: Panduan Lengkap Buat Pemula Sampai Nyantol di Kepala
  55. Tutorial Coding: Keluar dari Plateau of False Competence di Python
  56. Plotting Graph Menggunakan Seaborn di Python
  57. Mutable vs Immutable Objects di Python: Konsep Dasar yang Sering Diremehkan
  58. Python time.sleep() – Cara Mudah Memberi Jeda pada Program Kamu
  59. Mengapa Saya Berhenti Menggunakan Class di Python (Dan Apa yang Saya Gunakan Sebagai Gantinya)
  60. Different Delay Time of Python sleep() – Mengatur Jeda Sesuai Kebutuhan Program
  61. Mengenal Python math Module: Panduan Lengkap untuk Operasi Matematika di Python
Published on February 01, 2025
Last updated on June 03, 2026

If you like this post and want to support us, you can support us via buymeacoffee or trakteer.