JSON adalah salah satu format standar pertukaran data antar aplikasi.

Biasanya JSON banyak kita temukan ketika bermain dengan web service atau RESTful API.

Seperti saat saya bereksperimen dengan API Simsimi, datanya dikirim dengan format JSON.

JSON hampir bisa dibaca di sebagian besar bahasa pemrograman, seperti C, PHP, Javascript, C++, C#, Java, Ruby, Python, dll.

Cara Parsing File JSON di Python

Penguraian JSON pada bahasa pemrograman Python, membutuhkan modul json dan urllib untuk mendown-load JSON dari web service. Kedua modul ini sudah disediakan oleh Python.

Membuat File JSON

Pertama, kita buat dulu file JSON-nya dengan isi seperti pada gambar di atas. Nama file: petanikode.json

{
    "nama" : "Petani Kode",
    "url"  : "http://petanikode.com",
    "media": {
        "facebook" : "petanikode",
        "twitter"  : "@petanikode",
        "instagram": "@petanikode"
    }
}

Percobaan di Iterpreter

Sebelum membuat kode, kita coba dulu mengurai JSON-nya melalui interpreter. Ketik python pada terminal untuk masuk ke interpreter.

Percobaan Penguraian JSON di Interpreter

Pada percobaan di atas, kita menggunakan fungsi open() untuk membuka file JSON. Kemudian, kita menggunakan fungsi loads() dari modul json untuk me-load data JSON.

Data JSON disimpan pada variabel data dalam bentuk dictionary. Dengan demikian, kita bisa leluasa mengurai data JSON-nya.

Meracik Kode untuk Mengurai JSON

Buat file skrip python dan letakkan di direktori yang sama dengan file JSON-nya. Berikut ini isi skripnya.

import json

# buka file JSON-nya dulu
file_json = open('petanikode.json')

# load file JSON dari file yang sudah dibuka
data = json.loads(file_json.read())

# cetak isi data
print data

Hasil output dari kode di atas:

{u'url': u'http://petanikode.com', u'nama': u'Petani Kode', u'media': {u'twitter': u'@petanikode', u'facebook': u'petanikode', u'instagram': u'@petanikode'}}

Selanjutnya, kita tinggal percantik saja hasil output-nya. Silahkan modifikasi lagi kodenya.

import json

# buka file JSON-nya dulu
file_json = open('petanikode.json')

# load file JSON dari file yang sudah dibuka
data = json.loads(file_json.read())

# cetak isi data
print "nama \t: %s" % data['nama']
print "url \t: %s" % data['url']

print "Media Sosial "
for sosial in data['media']:
print "\t%s \t: %s" % (sosial, data['media'][sosial])

Hasil outputnya:

Hasil Penguraian JSON

Selanjutnya kita akan mencoba parsing JSON dari web service.

Parsing JSON dari URL Web Service dengan Python

Kita membutuhkan modul atau pustakan urlib untuk mengambil JSON dari URL Web Service.

Setelah itu, kita dapat melakukan penguraian (parsing) informasi yang ada di dalamnya.

Web service yang akan saya gunakan pada tulisan ini adalah web service dari Google.

Web service tersebut menyediakan RSS Feed untuk Blogger dalam bentuk JSON.

Percobaan di Postman

Sebelum kita mulai parsing, ada baiknya kita coba dulu URL web service-nya. Supaya kita mudah mengetahui, atribut atau kunci yang digunakan pada JSON.

URL: http://ajax.googleapis.com/ajax/services/feed/load?v=1.0#=100&q=http://feeds.feedburner.com/petanikode

Hasil Percobaan di Postman:

Hasil percobaan request dari Postman

Hasil respon:

Penguraian Informasi

Setelah mengetahui, struktur JSON yang diterima. Selanjutnya kita bisa mengurai informasi yang ada di dalamnya dengan mudah.

Baiklah!

Kita coba tampilkan semua judul yang ada di RSS Feed saja dulu.

import urllib, json

url = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0#=100&q=http://feeds.feedburner.com/petanikode"
respon = urllib.urlopen(url)
data = json.loads(respon.read())

post = data['responseData']['feed']['entries']

for artikel in post:
print artikel['title']

Perhatikan pada kode di atas, kita menggunakan modul urlib untuk mengambil JSON dari URL.

Kemudian kita menggunakan modul json untuk mengurai informasinya.

Berikut ini hasil yang akan kita dapatkan dari kode di atas.

Hasil parsing data JSON dari URL Webservice

Akhir Kata…

Pengetahuan tentang cara parsing JSON sangatlah penting, karena JSON banyak digunakan dalam aplikasi modern.

Semoga tulisan sederhana ini bermanfaat.

📖 Referensi:
  • Dok. Python Guide: JSON