Mengonversi Hasil Query MySQL ke JSON dengan Python

Dalam beberapa teknik pemrograman membutuhkan data/object dengan format JSON (JavaScript Object Notation). JSON ini bukan bahasa pemrograman ya, melainkan sekedar format data. Adanya JSON ini untuk memudahkan dalam navigasi data yang kompleks baik dalam strukturnya maupun jumlah datanya. Bisa diibaratkan JSON ini kumpulan data yang diatur formatnya sedemikian rupa sehingga mudah dipahami, diakses bahkan dipertukarkan. JSON ini sekarang banyak digunakan dalam aplikasi berbasis web, IoT menggantikan format XML. Walaupun demikian, data JSON bisa juga digunakan di aplikasi-aplikasi lain (misal Python) karena kemudahan-kemudahan manipulasinya

Contoh Data dengan Format JSON

Biar bisa membayangkan bagaimana dan apa itu JSON mungkin lebih mudah jika dijelaskan dengan contoh. Berikut ini adalah contoh sederhana sebuah data dengan format JSON

{ "nama":"ajie", "usia":35, "kota":"Bandung"}'

contoh yang lebih kompleks:

{
    "nama_depan": "Sapta",
    "nama_belakang": "Ajie",
    "hobi": ["belajar", "menulis", "programming"],
    "umur": 35,
    "anak": [
        {
            "nama": "Raihan",
            "umur": 8
        },
        {
            "nama": "Andika",
            "umur": 6
        }
    ]
}

Contoh penggunaan JSON Python

Berikut ini adalah salah satu implementasi JSON dalam script Python, khususnya untuk mengubah hasil query MySQL ke format JSON. Mengapa perlu diubah ke format JSON? karena kebutuhannya adalah mengambil data seluruhnya dari database sekali saja dan dimasukkan ke variabel bertipe JSON, sehingga untuk proses selanjutnya tinggal mengambil data dari variabel tersebut tanpa harus me-lookup ke database setiap saat. Cara ini efektif untuk program yang sifatnya membutuhkan akses cepat ke basis data dan berlangsung terus menerus. Jika program Anda hanya sesekali aja mengakses database, sebaiknya langsung saja query ke database

Sebelumnya buat tabel dengan struktur data sbb, kemudian isi datanya (terserah Anda)

kemudian buat script Python sbb, simpan dengan nama ‘tesjson.py’

import mysql.connector
import json

conn = mysql.connector.connect(user='user_anda', password='passw_anda',
                              host='localhost',database='db_anda')

class create_dict(dict): 
    def __init__(self): 
        self = dict() 
          
    def add(self, key, value): 
        self[key] = value

mydict = create_dict()
cursor = conn.cursor()
cursor.execute("SELECT * FROM person")
result = cursor.fetchall()

for row in result:
    mydict.add(row[0],({"nim":row[1],"nama":row[2],"kelas":row[3]}))

data_json = json.dumps(mydict, indent=2, sort_keys=True)
print(data_json)

jika kita running script di atas, hasilnya adalah sbb:

Jika kita ingin mengakses data dalam JSON gunakan teknik sbb:

elemen_json = json.loads(data_json)
print(elemen_json["1"]["nama"])

Hasilnya:

Demikian sedikit tutorial tentang JSON dan penggunaannya di Python. Perlu Anda ketahui bahwa Python adalah bahasa pemrograman yang ‘indentation-sensitive’, jadi salah indent dikit aja langsung error. Saran saya gunakan aplikasi text editor yang bisa membaca dan mengatur indent semacam Notepad++ di Windows atau Geany di Raspberry Pi. Selamat bereksperimen

Add a Comment

Your email address will not be published. Required fields are marked *