JSON
JSON Path Extractor / Flatten
Meratakan (Flatten) JSON bersarang menjadi daftar datar "jalur: nilai" dan menyusunnya kembali menjadi struktur bersarang (Unflatten). Notasi jalur sama seperti di JSONPath/JSON Diff: store.book[0].price.
Deeply nested JSON is hard to compare or iterate over programmatically. Flatten unrolls such a structure into a flat list of "path: value" pairs (e.g. store.book[0].price: 12.99), and Unflatten rebuilds it.
How to use it
- Flatten: paste nested JSON and get a flat list of every leaf value with its full path.
- Unflatten: paste a list of "path: value" pairs to rebuild a nested JSON structure from it.
- The path notation matches this site's JSONPath and JSON Diff tools — items[0].name for array elements.
Common uses
- Turning a deeply nested API response into a flat list for import into a spreadsheet or analytics system.
- Building a translation dictionary or config back into nested JSON from flat keys (form.errors.email).
- Quickly finding every value on a given topic in a very large JSON document via a flat path list.
Things to keep in mind
Array index notation varies between libraries — this tool uses items[0], though some write items.0 without brackets.
Unflatten requires that paths don't conflict with each other (e.g. one and one.two at the same time) — otherwise the structure can't be unambiguously rebuilt.
Artikel tentang alat ini: JSON Flatten: mengubah struktur bersarang menjadi daftar datar
Pertanyaan yang sering diajukan
Apa sebenarnya yang dilakukan "flattening" pada objek JSON?
Ini mengubah objek dan array bersarang menjadi objek satu level dengan kunci notasi titik atau kurung (seperti user.address.city atau items[0].id), membuat data yang sangat bersarang lebih mudah dibaca sebagai tabel datar atau diimpor ke alat spreadsheet.
Bisakah JSON yang telah diratakan dikonversi kembali ke bentuk bersarang aslinya?
Ya, selama notasi kuncinya konsisten — membalik proses ini merekonstruksi struktur bersarang asli dengan memecah setiap jalur kunci kembali menjadi objek dan array.
Apakah flattening menghilangkan informasi dari JSON asli?
Tidak. Setiap nilai dipertahankan; hanya struktur yang berubah, karena setiap jalur bersarang unik menjadi kunci datarnya sendiri.
Apa yang terjadi jika kunci asli sendiri mengandung titik?
Ini situasi yang ambigu: jalur user.name bisa berarti objek bersarang {"user": {"name": ...}} maupun kunci datar {"user.name": ...}. Format notasi titik tidak bisa membedakannya, jadi sebaiknya kunci semacam ini dihindari atau ditangani secara khusus.
Apakah format jalur sama di semua alat serupa?
Tidak. Notasi titik untuk objek (user.name) hampir universal, tetapi notasi indeks array berbeda-beda: di sini digunakan items[0], sedangkan beberapa pustaka lain menulis items.0 tanpa tanda kurung.