JSON Flattener
İç içe JSON'u nokta gösterimi ile düz anahtar-değer çiftlerine düzleştirin.
Bu araç hakkında
JSON düzleştirme, iç içe JSON yapısını nokta gösterimi anahtarlarını kullanarak tek düzeyli bir temsiline dönüştürme işlemidir. API'ler, veritabanları veya yapılandırma dosyalarından gelen karmaşık iç içe nesnelerle çalışırken, bu araç onları analiz etmesi, depolaması veya CSV veya elektronik tablolar gibi biçimlere aktarması daha kolay olan basit anahtar-değer çiftlerine dönüştürür.
JSON Flattener'ı kullanmak için, iç içe JSON'u giriş alanına yapıştırın ve düzleştir düğmesine tıklayın. Araç, çok düzeyli nesneleri ve dizileri anında düzleştirilmiş anahtarlara dönüştürür; burada üst-alt ilişkileri noktalarla temsil edilir—örneğin, iç içe köşeli ayraçlar yerine "user.profile.email". Ardından sonucu doğrudan kopyalayabilir veya veri ardışık düzenlerinde, raporlama araçlarında veya elektronik tablo uygulamalarında kullanmak üzere dışa aktarabilirsiniz.
Bu araç, yapılandırılmamış API yanıtlarını dönüştüren veri mühendisleri, karmaşık nesne yapılarını hata ayıklayan geliştiriciler ve düzleştirilmiş şemalar bekleyen BI platformları için veri hazırlayan analistler için çok değerlidir. JSON Flattener, dizi dizinlerini ve özel ayırıcıları destekleyerek çeşitli veri dönüştürme iş akışları için esnektir.
Sıkça Sorulan Sorular
Kod Uygulaması
def flatten(obj, prefix="", sep="."):
"""Flatten a nested dict into dot-notation keys."""
result = {}
if isinstance(obj, dict):
for key, value in obj.items():
new_key = f"{prefix}{sep}{key}" if prefix else key
if isinstance(value, (dict, list)):
result.update(flatten(value, new_key, sep))
else:
result[new_key] = value
elif isinstance(obj, list):
for i, value in enumerate(obj):
new_key = f"{prefix}{sep}{i}" if prefix else str(i)
if isinstance(value, (dict, list)):
result.update(flatten(value, new_key, sep))
else:
result[new_key] = value
else:
result[prefix] = obj
return result
def unflatten(flat, sep="."):
"""Reconstruct nested dict from dot-notation keys."""
result = {}
for key, value in flat.items():
parts = key.split(sep)
d = result
for part in parts[:-1]:
d = d.setdefault(part, {})
d[parts[-1]] = value
return result
# Example
nested = {"user": {"name": "Alice", "address": {"city": "Seoul"}}}
flat = flatten(nested)
print(flat) # {'user.name': 'Alice', 'user.address.city': 'Seoul'}
print(unflatten(flat)) # back to nestedComments & Feedback
Comments are powered by Giscus. Sign in with GitHub to leave a comment.