JSON
JSON Path Extractor / Flatten
İç içe geçmiş JSON'u düz "yol: değer" listesine açma (Flatten) ve tekrar iç içe yapıya dönüştürme (Unflatten). Yol gösterimi JSONPath/JSON Diff ile aynıdır: 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.
Bu araç hakkında makale: JSON Flatten: iç içe geçmiş bir yapıyı düz bir listeye dönüştürme
Sıkça sorulan sorular
Bir JSON nesnesini "düzleştirmek" (flatten) aslında ne yapar?
İç içe geçmiş nesneleri ve dizileri, nokta veya köşeli parantez gösterimli anahtarlara sahip tek seviyeli bir nesneye dönüştürür (user.address.city veya items[0].id gibi), böylece derinlemesine iç içe geçmiş veriler düz bir tablo olarak okunması veya elektronik tablo araçlarına aktarılması daha kolay hale gelir.
Düzleştirilmiş bir JSON, orijinal iç içe geçmiş haline geri dönüştürülebilir mi?
Evet, anahtar gösterimi tutarlı olduğu sürece — süreci tersine çevirmek, her anahtar yolunu tekrar nesnelere ve dizilere ayırarak orijinal iç içe geçmiş yapıyı yeniden oluşturur.
Düzleştirme orijinal JSON'dan herhangi bir bilgi kaybettirir mi?
Hayır. Her değer korunur; yalnızca yapı değişir, çünkü her benzersiz iç içe geçmiş yol kendi düz anahtarı haline gelir.
Gerçek bir anahtarın kendisi nokta içeriyorsa ne olur?
Bu belirsiz bir durumdur: user.name yolu hem iç içe geçmiş bir nesneyi ({"user": {"name": ...}}), hem de düz bir anahtarı ({"user.name": ...}) ifade edebilir. Noktalı gösterim bunu ayırt edemez, bu yüzden bu tür anahtarlardan kaçınmak veya ayrıca ele almak gerekir.
Yol formatı bu tür tüm araçlarda aynı mı?
Hayır. Nesneler için noktalı gösterim (user.name) neredeyse her yerde yaygındır, ancak dizi indeksi gösterimi farklılık gösterir: burada items[0] kullanılır, ancak bazı kütüphaneler parantezsiz items.0 yazar.