ForHosting KIT · Dati e file

Appiattire JSON annidato in tabella con chiavi a punti

Trasformi un oggetto o array JSON annidato in una semplice sequenza di righe chiave/valore senza scrivere uno script di attraversamento dedicato.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Ogni proprietà annidata riceve un percorso con notazione a punti e le posizioni degli array diventano segmenti numerici, così un identificativo d’ordine può essere richiamato sempre come orders.0.id. Il risultato è adatto a fogli di calcolo, tabelle di staging per database, log, strumenti di mappatura e qualsiasi flusso che richieda percorsi prevedibili invece di strutture annidate. L’elaborazione è deterministica, conserva i tipi JSON e rifiuta con un errore chiaro JSON non valido o una radice scalare.

Converta la struttura annidata in percorsi prevedibili

Il JSON annidato è ideale per le API perché mantiene uniti i valori correlati, ma molti strumenti di reporting e importazione richiedono una sequenza piatta di campi. Questa capacità attraversa ogni proprietà degli oggetti e ogni elemento degli array, unendo ciascun segmento con un punto. Un valore memorizzato in un oggetto customer e poi nella proprietà name diventa customer.name. Il primo elemento di un array orders viene indicato tramite orders.0, quindi il suo identificativo diventa orders.0.id. Ogni foglia viene restituita come riga con una chiave e un valore, rendendo semplice visualizzare, filtrare o trasformare l’output in colonne. L’attraversamento segue l’ordine presente nel JSON analizzato e fornisce risultati stabili per lo stesso input. Le stringhe restano stringhe, i numeri restano numeri, i booleani restano booleani e null rimane null. Oggetti e array vuoti vengono emessi come valori invece di scomparire silenziosamente, affinché l’output appiattito registri comunque che quei percorsi esistevano nel documento originale.

Prepari l’input e interpreti l’output

Fornisca il documento JSON completo come testo nel campo json. La radice deve essere un oggetto o un array. Questo requisito evita una chiave vuota ambigua per stringhe, numeri, booleani o null isolati. I nomi delle proprietà vengono usati esattamente come forniti, mentre gli indici degli array sono scritti come segmenti numerici a base zero. La risposta contiene pairs, un array le cui voci presentano i campi key e value e possono quindi essere trattate direttamente come righe di tabella. Se la radice stessa è un oggetto o array vuoto, la chiave restituita è una stringa vuota e il valore conserva quel contenitore. I punti già presenti nel nome originale di una proprietà non vengono sottoposti a escape. Per esempio, una proprietà letterale chiamata user.name produce lo stesso percorso visibile di un oggetto user annidato che contiene name. Se i dati usano nomi con punti e l’identità del percorso deve essere reversibile, rinomini tali proprietà prima dell’appiattimento oppure conservi il JSON originale insieme al risultato appiattito.

Usi le coppie piatte nei flussi di dati

Le coppie appiattite sono efficaci come rappresentazione intermedia. Un’automazione per fogli di calcolo può inserire le chiavi in una colonna e i valori in un’altra; un processo di acquisizione può ruotare percorsi selezionati nelle colonne di una riga ampia; uno strumento di confronto può indicizzare le coppie per chiave prima di verificare due documenti. I segmenti numerici degli array rendono inoltre espliciti i record ripetuti senza mescolare valori di elementi diversi. Poiché l’operazione non effettua richieste di rete e non usa valori casuali, timestamp o inferenza di modelli, testi JSON identici producono sempre output identici. Un JSON non valido genera un errore senza risultati parziali; anche un JSON scalare valido fallisce perché non rispetta il contratto oggetto-o-array. Il prezzo API è $0.002 per elemento, mentre l’esecutore nel browser può applicare localmente la stessa logica deterministica. Per documenti molto grandi, valuti un flusso in streaming o specifico per lo schema, poiché l’appiattimento crea una riga per ogni foglia primitiva o contenitore vuoto.

Preparare una risposta API per una tabella

Trasformi i campi annidati della risposta in percorsi espliciti da selezionare, mappare o mostrare come righe chiave/valore.

Creare mappature di importazione

Esamini i percorsi con notazione a punti prima di associare valori JSON selezionati alle colonne di un foglio o database.

Confrontare record strutturati

Appiattisca due oggetti in sequenze stabili di percorsi e valori per individuare le differenze tramite i percorsi completi.

Quanto costa?

Ogni elemento elaborato dall’API costa $0.002. L’esecutore nel browser può elaborare gratuitamente l’input in locale.

Come vengono rappresentati gli array?

Le posizioni diventano segmenti numerici a base zero, come orders.0.id e orders.1.id.

I tipi dei valori JSON vengono conservati?

Sì. Stringhe, numeri, booleani, null e contenitori vuoti mantengono il proprio tipo JSON nel campo value.

Che cosa accade a oggetti e array vuoti?

Sono restituiti come valori foglia per non perdere i percorsi. Un contenitore radice vuoto utilizza una chiave vuota.

Posso inviare una stringa o un numero JSON come radice?

No. La radice analizzata deve essere un oggetto o array; le radici scalari restituiscono un errore di input non valido.

I punti nei nomi originali delle proprietà vengono sottoposti a escape?

No. I nomi restano invariati; rinomini prima le proprietà con punti se richiede percorsi reversibili senza ambiguità.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/data/flatten-nested-json

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

curl -X POST https://api.kit.forhosting.com/data/flatten-nested-json \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"json":"{\"customer\":{\"name\":\"Ada\",\"address\":{\"city\":\"London\"}},\"orders\":[{\"id\":7,\"paid\":true}]}"}'
{
  "json": "{\"customer\":{\"name\":\"Ada\",\"address\":{\"city\":\"London\"}},\"orders\":[{\"id\":7,\"paid\":true}]}"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "data.flatten_nested_json",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_mb25
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →