Saturday, June 9, 2018

JSON dengan Python


Mari kita coba-coba belajar Python untuk mengolah data JSON, sebelumnya mari kita pahami dulu apa itu JSON.

JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data (sumber : www.json.org)

Berikut contoh data yang menggunakan format JSON

{"name": "Frank", "age": 39, "isEmployed": true}

Di Python sendiri sudah tersedia modul yang dapat digunakan untuk mengolah data berformat JSON yang bernama 'json' (tanpa tanda petik) untuk menggunakan module cukup gunakan perintah berikut :

>>> import json

Konversi JSON ke Python (Decode)

Untuk mengkonversi (decode) data JSON menjadi data object Python dengan modul json kita menggunakan perintah loads(), perintah ini akan menghasilkan data bertipe data dictionary.

>>> import json
>>> jsonData = '{"name": "Frank", "age": 39}'
>>> jsonToPython = json.loads(jsonData)

Cetak data yang sudah dikonvensi

>>> print jsonToPython
>>> {u'age': 39, u'name': u'Frank'}

Menampilkan data

>>> print jsonToPython['name']
39

Konversi Dictionary Python ke JSON (Encode)

Tidak semua type data Python dapat disimpan ke dalam format JSON. Tipe data Python yang dapat disimpan ke dalam format JSON antara lain List, Tuple, Dictionary, Boolean; Angka (int, long, float), karakter strings dan 'None'.

Contoh dibawah ini kita akan menyimpan data Python ke tipe data dictionary.

Berikut contoh data bertipe data dictionary :

{'name':'Bob', 'age':44, 'isEmployed':True}

Mari kita konversi (encode) data diatas menjadi JSON dengan modul json menggunakan perintah dumps()

>>> import json
>>> pythonDictionary = {'name':'Bob', 'age':44, 'isEmployed':True}
>>> dictionaryToJson = json.dumps(pythonDictionary)
>>> print dictionaryToJson
{'name':'Bob', 'age':44, 'isEmployed':True}

Contoh dengan Data yang Lebih Kompleks

Kita akan coba menggunakan data JSON yang sedikit lebih kompleks dengan menggunakan contoh data dibawah ini.

data = {
    "president": {
        "name": "Zaphod Beeblebrox",
        "species": "Betelgeusian"
    }
}

Mari kita encode data diatas ke data JSON dengan menggunakan perintah dumps()

>>> import json
>>> jsEncode=json.dumps(data)
>>> print jsEncode
'{"president": {"name": "Zaphod Beeblebrox", "species": "Betelgeusian"}}'

Kemudian kita akan menampilkan data diatas dengan sebelumnya kita decode lebih dahulu ke data Python

>>> jsDecode=json.loads(jsDecode)

Cetak data yang ingin ditampilkan

>>> jsDecode['president']
{u'name': u'Zaphod Beeblebrox', u'species': u'Betelgeusian'}
>>> jsDecode['president']['name']
u'Zaphod Beeblebrox'
>>> jsDecode['president']['species']
u'Betelgeusian'

Nah sekarang kita coba menggunakan data JSON yang kita dapatkan dari internet, untuk itu kita akan menggunakan modul 'request' (tanpa tanda petik)

>>> import json
>>> import requests
>>> response = requests.get("https://example.com/jsdata")
>>> jsdata = json.loads(response.text)

Sumber :
https://realpython.com/python-json/
https://pythonspot.com/tag/json/
https://code.tutsplus.com/tutorials/how-to-work-with-json-data-using-python--cms-25758

No comments: