Metode Parsing Nested JSON
Untuk memproses data JSON bertingkat (nested) di Python, Anda dapat menggunakan pustaka standar json. Jika struktur data bersifat statis, akses langsung melalui kunci (key) adalah cara tercepat. Namun, untuk struktur yang dinamis atau dalam, teknik rekursi adalah solusi paling efektif.
1. Akses Langsung (Static Path)
Jika Anda mengetahui struktur data secara pasti, gunakan akses indeks kamus (dictionary) standar Python.
import json
data_str = '{"user": {"id": 1, "profile": {"name": "Azwinn"}}}'
data = json.loads(data_str)
# Akses nested data
name = data['user']['profile']['name']
print(name) # Output: Azwinn2. Teknik Rekursi untuk Data Dinamis
Jika struktur JSON sangat dalam dan tidak menentu, gunakan fungsi rekursif untuk menelusuri setiap node hingga menemukan kunci yang dicari.
def find_key(data, target_key):
if isinstance(data, dict):
for key, value in data.items():
if key == target_key:
return value
result = find_key(value, target_key)
if result is not None:
return result
elif isinstance(data, list):
for item in data:
result = find_key(item, target_key)
if result is not None:
return result
return None
# Penggunaan
print(find_key(data, 'name'))| Metode | Kelebihan | Kekurangan |
|---|---|---|
| Akses Langsung | Sangat cepat, kode ringkas | Rentan error jika kunci tidak ada |
| Rekursi | Fleksibel untuk struktur dalam | Lebih lambat pada data masif |
| Library Pandas | Analisis data tabular mudah | Overhead memori tinggi |
Tips Troubleshooting
- KeyError: Selalu gunakan metode
.get()untuk menghindari error saat kunci tidak ditemukan (contoh:data.get('user', {}).get('name')). - Validasi: Gunakan
try-exceptsaat melakukanjson.loads()untuk menangani string JSON yang korup atau tidak valid. - Library Pihak Ketiga: Untuk data yang sangat kompleks, pertimbangkan menggunakan
glomataujmespathyang dirancang khusus untuk query data JSON yang dalam.
🔍 Orang Lain Juga Mencari Ini
Python Json Loads
Access Nested Dictionary Python
Python Recursive Json Parser
Jmespath Python Tutorial
Python Json Get Key
Parse Complex Json Python
Python Json Library Documentation
Handling Nested Json Data
Python Dictionary Traversal
Convert Json To Python Object
Python Json Error Handling
Glom Python Library
Python Iterate Nested List
Json Path Python
Python Read Json File