Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (2023)

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (1)Ahmad Muhardian

#Python#JSON#API

JSON kini sudah menjadi format yang sering dipakai dalam pertukaran data antar aplikasi.

Biasanya, kita akan menemukannya padaREST API.

Buat kamu yang belum tahu apa itu JSON, saya sarankan untuk membaca:

  • Pengenalan JSON untuk Pemula

Pada tutorial ini, kita akan belajar cara mengolah data JSON di Python dengan libraray json dan juga nantinya kita akan mencoba mengambil data JSON dari Server API.

Baiklah..

Mari kita mulai!

Cara Parsing JSON di Python

Parsing artinya mengurai..

Apa yang diurai?

Ya data JSON-nya.

Mengapa?

Karena data tersebut belum bisa dibaca secara langsung di Python. Harus dilakukan parsing terlebih dahulu agar bisa kita pakai di dalam Python.

Gimana caranya?

Caranya:

Kita bisa pakai modul json yang sudah disediakan oleh Ptyhon.

Mari kita coba..

Buatlah file JSON baru dengan nama dataku.json—bisa dibuat dengan notepad dan teks editor lainnya—lalu isi file JSON-nya seperti ini:

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

Pastikan format data JSON yang kamu tulis sudah benar. Lakukan validasi denganJSONLint.

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (2)

Tujuannya, agar nanti bisa dibaca di dalam program. Kalau format JSON-nya tidak valid, bisa jadi ia tidak akan bisa dibaca.

Oke..

Setelah itu, buat file baru dengan nama baca_data_json.py dan isi dengan kode berikut:

# gunakan modul jsonimport json# buka file JSONfile_json = open("dataku.json")# prsing data JSONdata = json.loads(file_json.read())# cetak isi data JSONprint(data)

Oh iya, kedua file ini harus di simpan dalam satu folder yang sama.

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (3)

Mengapa?

Karena kita melakukan open("dataku.json"), yang artinya file JSON yang akan dibuka adalah file yang masih satu folder dengan file script python tersebut.

Setelah itu, coba buka terminal dan jalankan program baca_data_json.py.

Maka hasilnya:

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (4)

Gampang kan?

Note: Tutorial ini menggunakan Python 3, jika kamu menggunakan Python 2 mungkin tidak akan bisa dijalankan. Upgrade versi python yang kamu gunakan. Setidaknya versi 3.6 ke atas.

Varibel data akan berisi sebuahdictionary dengan key dan value-nya akan mengikuti format dari JSON.

Nah, sekarang.. kita modifikasi lagi programnya, ubahlah print(data) menjadi seperti ini:

# cetak isi data JSONprint(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']}")

Sehingga kode lengkapnya akan menjadi seperti ini:

import json# buka file JSONfile_json = open("dataku.json")# prsing data JSONdata = json.loads(file_json.read())# cetak isi data JSONprint(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']}")

Coba eksekusi lagi, dan perhatikanlah hasilnya:

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (5)

Pada contoh ini.. kita menggunakan f-string (f"") untuk memformat hasil output, lalu mengambil data dari variabel data.

Sampai di sini sudah paham?

Bagus..

Sekarang mari kita coba baca JSON dari web service atau API.

Baca JSON dari Webservice dengan Python

Karena data JSON berada di server API, maka kita membutuhkan modul tambahan, yakni urllib.

Modul urllib menyediakan fungsi request() untuk melakukan HTTP Request ke Server. Ini akan kita manfaatkan untuk mengambil data JSON.

Mari kita coba..

API yang akan kita gunakan adalah API dari Github.

Alamat URL endpoint-nya:

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

Ini adalah endpoint untuk mengakses data profil github dengan username ardianta, kamu juga bisa mengganti dengan username Github-mu sendiri.

Berikut ini hasil respon dari endpoint tersebut:

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (6)

Mari kita buat programnya..

Buatlah file baru dengan nama read_github_api.py dan isilah dengan kode berikut:

import jsonfrom urllib import request# tentukan url endpointurl = "https://api.github.com/users/ardianta"# lakukan http request ke serverresponse = request.urlopen(url)# parsing data jsondata = json.loads(response.read())# cetak hasil parsing dataprint(data)

Setelah itu, coba jalankan programnya.

Maka hasilnya:

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (7)

Data JSON-nya sudah kita dapatkan.. yay!

Berikutnya, kita akan ubah kode programnya agar bisa menampilkan data yang lebih rapi.

Ubahlah kode print(data) menjadi seperti ini:

import jsonfrom urllib import request# tentukan url endpointurl = "https://api.github.com/users/ardianta"# lakukan http request ke serverresponse = request.urlopen(url)# parsing data jsondata = json.loads(response.read())# cetak hasil parsing dataprint("== Program Baca profile Github ==")print(f"Nama: {data['name']}")print(f"Lokasi: {data['location']}")print(f"Institusi: {data['company']}")print(f"Folower: {data['followers']}")print(f"mendaftar github pada: {data['created_at']}")

..dan coba eksekusi lagi.

Maka hasilnya:

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (8)

Gampang kan..

Intinya:

Langkah yang harus kamu ingat..

  1. Baca atau buka file JSON (bisa dari file dan server)
  2. Parsing
  3. Proses data (print, simpan, edit, dll)

Nah, berikutnya kita akan coba membaca data JSON yang memiliki banyak item.

Membaca JSON yang Memiliki Banyak Items

Contoh program yang kita buat tadi, hanya membaca satu item saja yakni profil github dan profil pribadi.

Lalu bagaimana caranya membaca data dari JSON yang berisi sekumpulan item?

Contohnya seperti daftar atau list artikel.

Gampang..

Dala kasus ini, kita harusmenggunakan perulangan.

Mari kita coba!

Kita akan menggunakan data JSON dari APIjsonplaceholder dengan endpoint URL:

https://jsonplaceholder.typicode.com/posts

Contoh hasil respon dari endpoint tersebut:

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (9)

Ada sebanyak 100 item atau artikel dalam data JSON ini.

Mari kita buat program untuk membacanya.

Buatlah program baru dengan nama list_artikel.py, kemudian isi dengan kode berikut:

import jsonfrom urllib import requesturl = "https://jsonplaceholder.typicode.com/posts"# lakukan http requestresponse = request.urlopen(url)# parsing data jsondata = json.loads(response.read())# gunakan perulangan untuk menampilkan datafor i in range(len(data)): print(f"{i}. {data[i]['title']}")

Setalah itu, coba jalankan programnya.

Maka hasilnya:

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (10)

Berhasil..

Kode tersebut juga bisa dibuat lebih sederhana menjadi seperti ini:

# gunakan perulangan untuk menampilkan datafor post in data: print(f"- {post['title']}")

Latihan: Baca data Covid-19 dengan Python

Sebagai latihan tambahan, kita akan coba membaca data statistik Covid-19 di Indonesia.

API yang digunakan adalah API darimathdroid:

https://indonesia-covid-19.mathdro.id/api/provinsi

Contoh hasil responnya:

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (11)

Mari kita buat programnya.

Buatlah file baru dengan nama covid_19_indonesia.py, kemudian isi dengan kode berikut:

import jsonfrom urllib import requesturl = "https://indonesia-covid-19.mathdro.id/api/provinsi"# lakukan http requestresponse = request.urlopen(url)# parsing data jsondata = json.loads(response.read())# gunakan perulangan untuk menampilkan datafor covid in data['data']: print(f"- {covid['provinsi']}:") print(f" 🤒Positif: {covid['kasusPosi']}") print(f" 🙂Sembuh: {covid['kasusSemb']}") print(f" ☠ Meninggal: {covid['kasusMeni']}")

Kita menggunakan data['data'], karena semua item di JSON-nya berada pada key data .

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (12)

Sekarang kita coba eksekusi, maka hasilnya:

Belajar Python: Cara Proses Data JSON dengan Python (dari File dan Web API) (13)

Mantap 👍

Apa Selanjutnya?

Kini kamu sudah tahu cara membaca dan parsing data JSON di Python.

Berikutnya silahkan latihan dengan JSON yang berbeda atau terpakan di dalam program yang sedang kamu buat.

Baca juga:

  • Cara Baca file CSV dengan Python
  • Cara Baca file XML dengan Python

Akhir kata..

Semoga bermanfaat.

FAQs

Apa itu JSON di Python? ›

JSON adalah sintaks untuk menyimpan dan bertukar data. JSON adalah teks, ditulis dengan notasi objek JavaScript.

Apa itu format file JSON? ›

Jika kamu seorang web developer pasti kamu sudah tidak asing lagi dengan istilah JSON. Untuk kamu yang belum tau apa itu JSON, JSON adalah format data yang cara penulisannya menggunakan objek JavaScript. JSON ini sering digunakan dalam pembuatan website.

Apa itu JSON dan contohnya? ›

JSON (JavaScript Object Notation) adalah sebuah format untuk menyimpan dan menukar informasi yang dapat dibaca oleh manusia. Filenya hanya memuat teks dan berekstensikan .json. Pada artikel ini, Anda akan mempelajari tentang apa itu JSON, kegunaannya, dan juga bagaimana JSON dapat meningkatkan performa website Anda.

Kenapa JSON diperlukan dalam pemrograman web? ›

Dalam dunia web development sendiri, belajar JSON sangat penting untuk memungkinkan pertukaran data antara browser dan server tanpa adanya proses pemuatan ulang sebuah halaman. Dari segi pengguna, hal ini memungkinkan Anda untuk mengakses suatu informasi tanpa harus menavigasi kebanyak halaman website.

Apa itu JSON parser dan bagaimana cara menggunakan nya? ›

  • JSON.parse() Method ini digunakan untuk memparse (parse = mengurai) string JSON dan mengubah nya menjadi javascript object, hasilnya bisa berupa objek dengan tipe data objek maupun tipe data array (dalam javascript tipe data array juga berbentuk objek – misal: var arr = new Array; ) ...
  • 2. JSON.stringify()
Apr 28, 2018

Apa kepanjangan dari JSON? ›

JSON (dilafalkan "Jason"), singkatan dari JavaScript Object Notation (bahasa Indonesia: notasi objek JavaScript), adalah suatu format ringkas pertukaran data komputer. Formatnya berbasis teks dan terbaca-manusia serta digunakan untuk merepresentasikan struktur data sederhana dan larik asosiatif (disebut objek).

Untuk apa JSON digunakan khususnya pada pemrograman Android? ›

JSON biasanya digunakan sebagai format standar untuk bertukar data antar aplikasi.

Apa itu JSON di Android Studio? ›

JSON (Javascript Object Notation) merupakan format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia.

Jelaskan apa yang dimaksud dengan AJaX? ›

Asynchronous JavaScript and XMLHTTP, atau disingkat AJaX, adalah suatu teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif.

Bagaimana cara menuliskan pasangan antara key dan value pada JSON? ›

Pasangan key-value memiliki tanda titik dua diantara mereka "key" : "value" . Setiap key-value dipisahkan oleh sebuah koma, sehingga ditengah isi sebuah JSON terlihat seperti in: "key" : "value", "key" : "value", "key": "value" . Pada contoh di atas, nilai pertama pasangan key-value kita adalah "first_name" : "Sammy" .

Apa Kelebihan XML? ›

Kelebihan XML

XML membuat dokumen dapat diangkut melintasi sistem dan aplikasi. Anda juga dapat bertukar data dengan cepat di antara berbagai platform. XML memisahkan data dari HTML. Ini menyederhanakan proses perubahan platform.

Top Articles
Latest Posts
Article information

Author: Errol Quitzon

Last Updated: 16/12/2023

Views: 6023

Rating: 4.9 / 5 (79 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Errol Quitzon

Birthday: 1993-04-02

Address: 70604 Haley Lane, Port Weldonside, TN 99233-0942

Phone: +9665282866296

Job: Product Retail Agent

Hobby: Computer programming, Horseback riding, Hooping, Dance, Ice skating, Backpacking, Rafting

Introduction: My name is Errol Quitzon, I am a fair, cute, fancy, clean, attractive, sparkling, kind person who loves writing and wants to share my knowledge and understanding with you.