Skip to main content
CheckTown
Dati

JSON Flatten: Convert Nested to Flat and Back

Pubblicato 5 min di lettura
In questo articolo

Cos'è l'appiattimento JSON?

L'appiattimento JSON converte un oggetto JSON profondamente annidato in una struttura piatta chiave-valore usando percorsi con notazione a punti. Ogni valore foglia nell'oggetto originale riceve un percorso unico come 'user.address.city' che descrive la sua posizione nella gerarchia.

L'operazione inversa, il ripristino, prende i percorsi con notazione a punti e ricostruisce la struttura annidata originale. Insieme, appiattire e ripristinare permettono di trasformare il JSON tra rappresentazioni annidate e piatte senza perdere dati.

Come funziona l'appiattimento JSON

L'algoritmo di appiattimento attraversa ricorsivamente l'albero JSON, costruendo una stringa di percorso mentre scende negli oggetti e array annidati.

  • Attraversamento ricorsivo — l'algoritmo percorre ogni chiave nell'oggetto, aggiungendo ogni chiave a un percorso crescente separato da punti
  • Notazione indice array — gli elementi dell'array usano la notazione a parentesi come 'items[0].name' per preservare la loro posizione
  • Raccolta foglie — quando viene raggiunto un valore primitivo (stringa, numero, booleano, null), il percorso completo e il valore vengono memorizzati come coppia chiave-valore piatta

Prova gratuitamente — nessuna registrazione richiesta

Appiattisci o ripristina JSON →

Quando usare l'appiattimento JSON

Il JSON appiattito è utile quando devi lavorare con dati annidati in sistemi che supportano solo strutture piatte o confrontare strutture complesse.

  • Archiviazione database — memorizza configurazioni annidate in tabelle chiave-valore piatte senza modifiche allo schema
  • Esportazione CSV — converti record JSON annidati in righe piatte adatte all'importazione in fogli di calcolo
  • Confronto configurazione — appiattisci due file di configurazione e confronta le chiavi piatte per individuare rapidamente le modifiche

Domande frequenti

L'appiattimento preserva i tipi di dati?

Sì. Tutti i valori primitivi (stringhe, numeri, booleani, null) vengono preservati esattamente. Gli array diventano percorsi indicizzati come 'items[0]', e gli oggetti annidati diventano percorsi separati da punti. Il ripristino ricostruisce i tipi originali.

Cosa succede con un annidamento molto profondo?

L'appiattitore gestisce qualsiasi profondità di annidamento. Gli oggetti molto profondi producono stringhe di percorso lunghe, ma non c'è un limite funzionale. La maggior parte delle implementazioni usa approcci iterativi per evitare problemi di stack delle chiamate.

Posso appiattire JSON con chiavi duplicate?

JSON non consente chiavi duplicate allo stesso livello per specifica. Se il tuo parser le accetta, solo l'ultimo valore per ogni chiave sopravvive al parsing. L'appiattitore lavora sull'oggetto parsato, quindi i duplicati sono già risolti.

Strumenti correlati