KoderKoder.ai
PrezziEnterpriseIstruzionePer gli investitori
AccediInizia ora

Prodotto

PrezziEnterprisePer gli investitori

Risorse

ContattaciAssistenzaIstruzioneBlog

Note legali

Informativa sulla privacyTermini di utilizzoSicurezzaNorme di utilizzoSegnala un abuso

Social

LinkedInTwitter
Koder.ai
Lingua

© 2026 Koder.ai. Tutti i diritti riservati.

Home›Blog›Douglas Crockford e JSON: perché ogni app lo usa
20 set 2025·8 min

Douglas Crockford e JSON: perché ogni app lo usa

Come Douglas Crockford ha reso popolare JSON e perché è diventato il linguaggio predefinito per app web e API—più suggerimenti pratici per usare bene JSON oggi.

Douglas Crockford e JSON: perché ogni app lo usa

JSON in parole semplici: cos'è e perché conta

JSON (JavaScript Object Notation) è un modo leggero per rappresentare dati come testo semplice usando coppie chiave–valore e liste.

Se costruisci app web—anche se non pensi molto ai “formati dati”—JSON è probabilmente già la colla che tiene insieme il tuo prodotto. È il modo in cui un frontend chiede dati, in cui un backend risponde, come le app mobile sincronizzano stato e come i servizi esterni inviano eventi. Quando il JSON è chiaro e coerente, i team rilasciano più velocemente; quando è disordinato, ogni funzionalità richiede più tempo perché tutti discutono su cosa significhi quel dato.

Un piccolo esempio

Ecco un piccolo oggetto JSON che si legge in un colpo d'occhio:

{
  "userId": 42,
  "name": "Sam",
  "isPro": true,
  "tags": ["beta", "newsletter"]
}

Anche senza contesto tecnico, di solito puoi intuire cosa succede: un utente ha un ID, un nome, un flag di stato e una lista di tag.

Cosa otterrai da questo articolo

Imparerai:

  • Da dove viene JSON e come è diventato mainstream (compreso il ruolo di Douglas Crockford)
  • Perché il suo design “minimale” è una parte importante della vittoria
  • Perché JSON si adatta così naturalmente ad API e HTTP
  • Consigli pratici per usare bene JSON, così i payload restano comprensibili man mano che l'app cresce

Lo scopo è semplice: aiutarti a capire non solo cos'è JSON, ma perché quasi tutte le app lo “parlano” — e come evitare gli errori comuni che i team continuano a ripetere.

Il ruolo di Douglas Crockford nel rendere JSON mainstream

Douglas Crockford non ha “inventato” ogni idea dietro JSON, ma ha fatto qualcosa altrettanto importante: ha reso visibile un pattern semplice e praticabile, gli ha dato un nome e lo ha spinto nel mainstream.

Il problema del web nelle prime fasi: lo scambio dati era caotico

Nei primi giorni delle applicazioni web, i team si barcamenavano tra opzioni scomode per spostare dati tra browser e server. XML era comune ma verboso. Formati personalizzati basati su delimitatori erano compatti ma fragili. JavaScript poteva tecnicamente valutare dati come codice, ma questo confondeva la linea tra “dato” e “script eseguibile”, creando bug e problemi di sicurezza.

Crockford vide una strada più pulita: usare un piccolo sottoinsieme della sintassi letterale di JavaScript che potesse rappresentare dati semplici in modo affidabile—oggetti, array, stringhe, numeri, booleani e null—senza funzionalità extra.

Denominazione, documentazione e “la pagina unica da citare”

Uno dei contributi più grandi di Crockford fu di natura sociale, non tecnica: lo chiamò JSON (JavaScript Object Notation) e pubblicò documentazione chiara su json.org. Questo diede ai team un vocabolario condiviso (“invieremo JSON”) e un riferimento abbastanza breve da leggere e sufficientemente rigoroso da implementare.

Promosse inoltre JSON come formato indipendente da JavaScript come linguaggio: molti linguaggi potevano analizzarlo e generarlo, e si mappava naturalmente alle strutture dati comuni.

Tappe di standardizzazione a cui affidarsi

L'adozione accelera quando i team si sentono sicuri di puntare su un formato a lungo termine. JSON ha gradualmente guadagnato quello status di “scommessa sicura” attraverso tappe conosciute:

  • RFC 4627 (2006): descrizione formale iniziale per implementazioni interoperabili
  • ECMA-404: uno standard conciso che definisce la sintassi JSON
  • RFC 7159 e poi RFC 8259 (2017): hanno chiarito l'interoperabilità e consolidato il ruolo di JSON su internet

L'attivismo di Crockford, combinato con questi standard e un ecosistema crescente di parser, ha aiutato JSON a passare da convenzione comoda a modo predefinito di comunicare—specialmente sulle API HTTP (argomento trattato più avanti in /blog/json-and-apis).

Prima di JSON: i formati con cui il web ha provato a convivere

Prima che JSON diventasse il modo predefinito per spostare dati, il web si appoggiava a una mescolanza di formati troppo pesanti, incoerenti o troppo personalizzati per scalare tra i team.

Cosa si usava prima di JSON

XML era la grande scelta “standard”. Funzionava tra linguaggi, aveva strumenti e poteva rappresentare strutture nidificate. Portava però molta cerimonia.

Allo stesso tempo, molte app trasmettevano dati come query string personalizzate (soprattutto nelle richieste AJAX iniziali): coppie chiave/valore messe in URL o corpo POST. Altre inventavano formati testuali ad hoc—una lista separata da virgole qui, un blob delimitato da pipe là—spesso con regole di escaping fatte a mano che capiva solo un singolo sviluppatore.

I punti dolenti che i team incontravano di continuo

I problemi comuni non erano teorici:

  • Verbosity: XML rendeva i payload piccoli pesanti e quelli grandi enormi.
  • Complessità di parsing: l'XML reale richiedeva parser più pesanti e una gestione attenta di namespace, attributi vs elementi e whitespace.
  • Convenzioni incoerenti: con formati ad‑hoc ogni endpoint diventava un mini-protocollo. I client dovevano indovinare tipi, codifiche e casi limite.

Perché vince il “sufficientemente buono e semplice”

La maggior parte delle app non ha bisogno di un formato che esprima ogni possibile struttura di documento. Serve un modo prevedibile per inviare oggetti, array, stringhe, numeri e booleani—velocemente, coerentemente e con poco margine di interpretazione. Formati più semplici riducono il numero di decisioni (e errori) che i team devono prendere per endpoint.

Un confronto rapido: XML vs JSON

<user>
  <id>42</id>
  <name>Ada</name>
  <isActive>true</isActive>
</user>
{
  "id": 42,
  "name": "Ada",
  "isActive": true
}

Entrambi esprimono la stessa idea, ma JSON è più facile da leggere, più facile da generare e più vicino a come la maggior parte delle applicazioni già modella i dati in memoria.

Perché JSON è minimale: le scelte di design che hanno funzionato

La permanenza di JSON non è un caso. Ha successo perché è deliberatamente piccolo: abbastanza struttura per rappresentare dati reali senza invitare a variazioni infinite.

Il set minimo di mattoni utili

JSON ti dà un kit minimale che si mappa pulitamente a come la maggior parte delle app pensa i dati:

  • Oggetti: campi nominati (come un contatto con name, email)
  • Array: liste ordinate (come gli articoli in un carrello)
  • Stringhe: testo
  • Numeri: valori numerici (con qualche accortezza)
  • Booleani: true/false
  • null: un esplicito “nessun valore”

Questo è tutto. Niente date native, niente commenti, niente tipi numerici personalizzati, nessun riferimento. Questa semplicità rende JSON facile da implementare tra linguaggi e piattaforme.

Leggibile dall'uomo, efficiente per le macchine—per progetto

JSON è abbastanza leggibile da permettere agli sviluppatori di scorrere log e risposte API, pur rimanendo semplice da analizzare rapidamente per le macchine. Evita cerimonie in eccesso ma mantiene delimitatori chiari ({}, [], :) così i parser possono essere veloci e affidabili.

Il compromesso: dato che JSON è così minimale, i team devono accordarsi su convenzioni per cose come timestamp, soldi e identificatori (per esempio, stringhe ISO-8601 per le date).

La rigidità è una caratteristica, non una limitazione

Le regole rigide di JSON (stringhe tra virgolette doppie, niente virgole finali, set ridotto di tipi) riducono l'ambiguità. Meno ambiguità significa meno errori “funziona sulla mia macchina” quando sistemi diversi scambiano dati.

Una convinzione da chiarire

JSON somiglia alla sintassi degli oggetti JavaScript, ma JSON non è JavaScript. È un formato dati agnostico rispetto al linguaggio, con regole proprie, utilizzabile da Python, Java, Go, Ruby e ovunque serva serializzazione coerente e interoperabilità.

Come JSON è diventato il default tra frontend e backend

JSON non ha vinto perché era il formato più ricco di funzionalità. Ha vinto perché si adattava al modo in cui le app web venivano già costruite: un browser pesantemente JavaScript che parla con un server usando semplici richieste HTTP.

JavaScript era già su ogni pagina

Quando i browser si sono standardizzati attorno a JavaScript, il lato client aveva un modo incorporato per rappresentare dati strutturati: oggetti, array, stringhe, numeri, booleani e null. JSON rispecchiava questi primitivi da vicino, quindi spostare dati tra “ciò che il browser capisce” e “ciò che il server invia” risultava naturale.

Le app in stile Ajax accelerarono questo fenomeno. Invece di restituire pagine HTML complete, i server potevano restituire un piccolo payload che l'interfaccia poteva renderizzare. Una risposta come questa era subito utile:

{
  "user": {"id": 42, "name": "Sam"},
  "unreadCount": 3
}

Parsing semplice ovunque, non solo nei browser

Anche se la sintassi di JSON sembra JavaScript, è neutrale rispetto al linguaggio. Appena server e client in altri linguaggi dovettero interoperare con i frontend web, apparvero librerie JSON—e divennero rapidamente “equipaggiamento standard”. Analizzare una stringa JSON in strutture native è di solito una singola chiamata di funzione, e generare JSON è altrettanto semplice.

L'effetto tooling: la defaultizzazione

Quando framework, client API, debugger, proxy e strumenti di documentazione presuppongono JSON, scegliere altro crea attrito. Gli sviluppatori potevano ispezionare payload negli strumenti di sviluppo del browser, copiare/incollare esempi nei test e affidarsi a librerie mature per codifica, decodifica e gestione degli errori.

Un payload, molti consumatori

Una singola risposta JSON può servire un'interfaccia web, un'app mobile, un servizio interno e un'integrazione di terze parti con modifiche minime. Questa interoperabilità rese JSON una scelta sicura per team che costruiscono “un backend, molti frontend” — aiutando a diventare il contratto predefinito tra client e server.

JSON e API: il fit pratico con HTTP

Aggiungi un client mobile
Genera un'app Flutter che rimanga sincronizzata con il tuo backend JSON.
Build Mobile

JSON non ha vinto perché è elegante—si adattava perfettamente a come il web già funzionava. HTTP è costruito attorno all'invio di una richiesta e all'ottenimento di una risposta, e JSON è un modo semplice e prevedibile per rappresentare il “body” di quella risposta (o richiesta) come dati strutturati.

HTTP + JSON in un minuto

Una richiesta API di solito include un metodo e un URL (per esempio, GET /users?limit=20). Il server risponde con un codice di stato (come 200 o 404), header e un body opzionale.

Quando il body è JSON, un header chiave è:

  • Content-Type: application/json

Quell'header dice ai client come interpretare i byte ricevuti. In ingresso (client → server), inviare Content-Type: application/json segnala “sto inviando JSON”, e i server possono analizzarlo in modo coerente.

Pattern comuni nelle risposte API

JSON funziona particolarmente bene per schemi ricorrenti nelle API.

Paginazione spesso avvolge una lista con metadata:

{
  "data": [{"id": 1, "name": "A"}],
  "pagination": {"limit": 20, "offset": 0, "total": 153}
}

Filtri e ordinamento avvengono tipicamente nella query string dell'URL, mentre i risultati restano un array JSON (o un campo data). Per esempio: GET /orders?status=paid&sort=-created_at.

Risposte di errore giovano di una forma standard così i client possono mostrare messaggi e gestire retry:

{
  "error": {
    "code": "invalid_request",
    "message": "limit must be between 1 and 100",
    "details": {"field": "limit"}
  }
}

La corrispondenza pratica è semplice: HTTP fornisce trasporto e significato (verbi, codici di stato, caching), mentre JSON fornisce una struttura leggera e leggibile per i dati stessi.

JSON vs XML: perché JSON solitamente vince per i dati delle app

Quando si confrontano JSON e XML, spesso si confronta “dati per app” vs “documenti”. Entrambi i formati possono rappresentare informazioni strutturate, ma JSON tende a corrispondere a ciò che la maggior parte delle applicazioni effettivamente spostano: oggetti semplici, liste, stringhe, numeri, booleani e null.

Leggibilità e dimensione: meno tag, meno rumore

XML è verboso per progetto. Tag di apertura e chiusura ripetuti rendono i payload più grandi e più difficili da scorrere nei log o negli inspector di rete. JSON di solito trasmette lo stesso significato con meno caratteri e meno rumore visivo, il che aiuta durante il debug e può ridurre i costi di banda su scala.

Non si tratta solo di estetica: payload più piccoli spesso significano trasferimenti più veloci e meno lavoro per parser e proxy.

Allineamento del modello dati: mappe e liste corrispondono ai dati delle app

La maggior parte dei dati delle app somiglia naturalmente a dizionari (mappe chiave/valore) e array (liste): un utente con attributi, un ordine con righe, una pagina con componenti. JSON si mappa direttamente su quel modello mentale e corrisponde alle strutture native in JavaScript e nella maggior parte dei linguaggi moderni.

XML può rappresentare le stesse strutture, ma richiede convenzioni: attributi vs elementi, elementi figlio ripetuti per le liste e regole aggiuntive per decidere cosa è un numero (dato che tutto è testo a meno di aggiungere tipizzazione sopra).

Dove XML può ancora essere utile (senza sminuirlo)

XML resta forte per casi d'uso document-centrici: contenuti misti (testo intercalato con markup), workflow editoriali e ecosistemi con tool XML maturi (per esempio, alcune integrazioni enterprise). Se il tuo payload è più vicino a un documento che a un grafo di oggetti, XML può essere una buona scelta.

Indicazione: scegli in base ai bisogni, non alle mode

Se l'obiettivo principale è scambiare dati applicativi tra frontend, backend e API, JSON è generalmente la scelta più semplice e diretta. Se hai bisogno di markup per documenti, contenuto misto o stai integrando in un dominio fortemente basato su XML, XML può essere lo strumento giusto.

Regole JSON che continuano a sorprendere i team

Ottieni crediti condividendo
Condividi quello che costruisci o invita altri e guadagna crediti per il tuo account Koder.ai.
Earn Credits

JSON somiglia agli “oggetti JavaScript”, quindi i team spesso presumono di poterlo trattare come JavaScript. Qui nascono i bug: JSON è più rigoroso, più piccolo e meno tollerante.

Le regole sintattiche rigide

Alcuni problemi “funziona sulla mia macchina” appaiono ripetutamente:

  • Le virgolette doppie sono obbligatorie per chiavi e valori stringa. {name: "Ada"} non è JSON; { "name": "Ada" } lo è.
  • Niente virgole finali. { "a": 1, } fallirà in molti parser.
  • Niente commenti. // e /* ... */ sono invalidi. Se ti servono note, tienile nella documentazione o usa un campo separato (con cautela) durante lo sviluppo.

Questi vincoli sono intenzionali: mantengono i parser semplici e coerenti tra linguaggi.

Numeri, date e decimali: scegli i tipi con attenzione

JSON ha un solo tipo numerico: number. Non esiste un intero, decimale o tipo data nativo.

  • Soldi e decimali ad alta precisione (prezzi, tassi di cambio) sono spesso più sicuri come stringhe (es. "19.99") per evitare differenze di arrotondamento tra sistemi.
  • Date e orari dovrebbero di solito essere stringhe in un formato standard, più comunemente ISO 8601 (es. "2025-12-26T10:15:30Z"). Evita formati di data personalizzati che richiedono indovinelli.
  • Fai attenzione con interi molto grandi: alcuni ambienti non li rappresentano precisamente. In caso di dubbio, inviali come stringhe.

Unicode e escaping nei sistemi reali

JSON è Unicode, ma i sistemi reali sbagliano ancora su codifica ed escaping:

  • Assicurati che tutto sia coerentemente UTF-8 sulla rete.
  • Ricorda che certi caratteri devono essere escapati nelle stringhe (come virgolette " e backslash \\).
  • Fai attenzione ai caratteri invisibili copiati da documenti (spazi no-break, virgolette intelligenti) che possono rompere il parsing.

Sicurezza: analizza JSON in modo sicuro

Analizza sempre JSON con un vero parser JSON (JSON.parse o l'equivalente del tuo linguaggio). Evita approcci di tipo eval, anche se “sembrano più veloci”. E valida gli input ai bordi—soprattutto per API pubbliche—così campi o tipi inattesi non entrino nella logica di business.

Progettare payload JSON che invecchiano bene

Un payload JSON non è solo “dati in transito”—è un'interfaccia a lungo termine tra team, sistemi e il te futuro. La differenza tra un payload che dura e uno che viene riscritto ogni trimestre è quasi sempre disciplina noiosa: coerenza, gestione attenta dei cambiamenti e casi limite prevedibili.

La coerenza batte l'astuzia

Scegli regole di nomenclatura e rispettale ovunque:

  • Usa uno stile di casing (comunemente camelCase o snake_case) e non mescolare.
  • Mantieni le chiavi stabili. Rinominare userId in id è una breaking change anche se il significato sembra “ovvio”.
  • Preferisci campi espliciti alla polimorfia “magica”. Una chiave che cambia tipo ("count": 3 vs "count": "3") causerà bug difficili da tracciare.

Versioning senza dramma

Puoi evitare la maggior parte delle guerre di versione rendendo i cambiamenti additivi:

  • Aggiungi nuovi campi opzionali invece di cambiare o rimuovere quelli esistenti.
  • Tratta le rimozioni come deprecazioni: mantieni il campo vecchio, smetti di documentarlo per i nuovi client e annuncia una data di rimozione.
  • Se hai davvero bisogno di una breaking change, versiona l'endpoint (/v2/...) o includi un segnale di versione nell'header—non cambiare silenziosamente le semantics.

Gli errori dovrebbero essere noiosamente prevedibili

I client gestiscono i fallimenti meglio quando gli errori condividono una forma unica:

{
  "error": {
    "code": "INVALID_ARGUMENT",
    "message": "email must be a valid address",
    "details": { "field": "email" }
  }
}

Documentazione che corrisponde alla realtà

Ottima documentazione JSON include esempi reali—risposte di successo e di errore—con tutti i campi. Mantieni gli esempi sincronizzati con il comportamento in produzione e segnala quali campi sono opzionali, nullable o deprecati. Quando gli esempi corrispondono alle risposte reali, le integrazioni vanno più veloci e si rompono meno spesso.

Dove si inserisce Koder.ai (se stai costruendo API rapidamente)

Se usi un flusso di lavoro vibe-coding per avviare nuove feature velocemente, i contratti JSON diventano ancora più importanti: l'iterazione rapida è fantastica finché client e servizi non divergono.

Su Koder.ai, i team spesso generano un frontend React più un backend Go + PostgreSQL e poi iterano sulle forme API in planning mode prima di fissarle. Funzionalità come snapshots e rollback aiutano quando una piccola modifica JSON si rivela breaking, e l'export del codice sorgente rende facile mantenere il contratto nel repository e farlo rispettare con test.

Validazione e contratti: JSON Schema e oltre

JSON è facile da generare, ed è sia un punto di forza che una trappola. Se un servizio invia "age": "27" (stringa) e un altro si aspetta 27 (numero), nulla in JSON impedirà l'errore. Il risultato è di solito il peggior tipo di bug: un crash client in produzione o un glitch UI sottile che si verifica solo con certi dati.

Perché la validazione conta (anche per un JSON “semplice”)

La validazione serve a intercettare dati errati o inattesi prima che raggiungano chi ne dipende—il tuo frontend, integrazioni partner, pipeline analytics o app mobile.

Punti di fallimento comuni includono campi richiesti mancanti, chiavi rinominate, tipi sbagliati e valori “quasi giusti” (come date in formati incoerenti). Un piccolo passo di validazione al confine API può trasformare questi casi da outage a messaggi di errore chiari.

JSON Schema: cos'è e quando usarlo

JSON Schema è un modo standard per descrivere come dovrebbe essere il tuo JSON: proprietà richieste, tipi ammessi, enum, pattern e altro. È più utile quando:

  • Hai più client (web + mobile + partner) che consumano la stessa API
  • Hai bisogno di cambiamenti compatibili nel tempo
  • Vuoi controlli automatici in CI/CD, non solo revisione umana

Con uno schema puoi validare richieste sul server, validare risposte nei test e generare documentazione. Molti team lo associano ai loro documenti API (spesso via OpenAPI), così il contratto diventa esplicito invece che “conoscenza tribale”. Se già pubblichi doc per sviluppatori, collegare esempi di schema in /docs aiuta a mantenere coerenza.

Alternative leggere (e complementi)

Non tutti i team hanno bisogno dello strumento completo dello schema dal giorno uno. Opzioni pratiche includono:

  • Esempi di payload condivisi nel repo (golden files)
  • Test di contratto che verificano che le risposte reali corrispondano alle aspettative
  • Contract driven dai consumer (i client definiscono cosa richiedono)

Una regola utile: inizia con esempi e test di contratto, poi aggiungi JSON Schema quando le modifiche e le integrazioni cominciano a moltiplicarsi.

Performance e affidabilità con JSON su scala

Ripristina i cambiamenti che rompono
Scatta snapshot prima delle modifiche e ripristina rapidamente quando una variazione JSON rompe i client.
Try Snapshots

JSON sembra “leggero” quando invii pochi campi. Su scala—client mobile con reti instabili, API ad alto traffico, pagine ricche di analytics—JSON può diventare un problema di performance o un rischio di affidabilità se non lo modelli e lo trasmetti con cura.

Mantieni i payload piccoli: pagina, filtra ed evita l'overfetching

Il problema di scala più comune non è il parsing JSON, ma inviare troppo. La paginazione è la vittoria semplice: ritorna chunk prevedibili (per esempio limit + cursor) così i client non scaricano migliaia di record in una volta. Per endpoint che restituiscono oggetti nidificati, considera risposte parziali: lascia che il client richieda solo ciò che serve (campi selezionati o espansioni "include"). Questo evita l'"overfetching", dove uno schermo ha bisogno solo di name e status ma riceve ogni dettaglio storico e di configurazione.

Una regola pratica: progetta le risposte attorno alle azioni dell'utente (ciò che una schermata richiede ora), non attorno a ciò che il tuo database può joinare.

Compressione e caching: meno byte, meno richieste

Se la tua API serve risposte JSON grandi, la compressione può ridurre notevolmente la dimensione del trasferimento. Molti server possono gzip o brotli le risposte automaticamente, e la maggior parte dei client lo gestisce senza codice extra.

Il caching è l'altra leva. A grandi linee, punta a:

  • Risposte cacheable per dati che non cambiano ogni secondo
  • Regole di cache chiare (es. usare ETag o pattern di “last modified”)

Questo riduce download ripetuti e smussa i picchi di traffico.

Streaming e parsing incrementale (quando JSON è enorme)

Per output molto grandi—export, feed di eventi, sync bulk—considera risposte in streaming o parsing incrementale così i client non devono caricare l'intero documento in memoria prima di fare qualcosa di utile. Non è richiesto per la maggior parte delle app, ma è un'opzione preziosa quando “un grande blob JSON” comincia a causare timeout.

Osservabilità: logga in modo sicuro senza esporre dati

JSON è facile da loggare, il che è utile ma pericoloso. Tratta i log come un prodotto:

  • Evita di loggare corpi request/response completi di default
  • Redigi campi sensibili (token, password, identificatori personali)
  • Preferisci log strutturati che catturino ID, tempi e codici errore invece di payload grezzi

Fatto bene, debuggerai più in fretta riducendo il rischio di esposizione accidentale dei dati.

Prossimi passi per JSON e una semplice checklist di best practice

JSON non è “finito”—è stabile. Ciò che cambia ora è l'ecosistema attorno: editor più forti, validazione migliore, contratti API più sicuri e tooling che aiuta i team a evitare cambiamenti involontari che rompono.

Dove va JSON

JSON probabilmente resterà il formato wire predefinito per la maggior parte delle app web e mobile perché è ampiamente supportato, facile da debuggare e si mappa chiaramente alle strutture dati comuni.

Il cambiamento più grande è verso API tipate: i team continuano a inviare JSON, ma lo definiscono più precisamente usando strumenti come JSON Schema, OpenAPI e code generator. Questo significa meno momenti di “indovina la forma”, autocomplete migliore e rilevamento errori anticipato—senza abbandonare JSON.

Formati correlati: JSON Lines / NDJSON

Quando devi inviare o salvare molti record in modo efficiente (log, eventi analytics, export), un singolo array JSON gigantesco può essere scomodo. JSON Lines (chiamato anche NDJSON) risolve questo mettendo un oggetto JSON per riga. Si streamma bene, può essere processato riga per riga e si integra con gli strumenti da riga di comando.

Una checklist semplice di best practice

Usala come controllo pre-partenza per payload che vivranno più a lungo di uno sprint:

  • Mantieni chiavi coerenti e prevedibili (scegli uno stile di naming e mantienilo).
  • Preferisci identificatori stabili (non fare dipendere i client dalle posizioni negli array).
  • Usa timestamp ISO 8601 (es. 2025-12-26T10:15:00Z).
  • Distingui tra “mancante” vs “vuoto” vs null e documenta la scelta.
  • Versiona con attenzione (aggiungi campi liberamente; rimuovi/rinomina solo con un piano).
  • Valida ai bordi (validazione input sul server; controlli di sanità sul client).
  • Ritorna errori utili (codici macchina + testo leggibile dall'uomo).

Continua a imparare

Se vuoi approfondire, sfoglia le guide correlate su /blog — specialmente argomenti come validazione con schema, versioning delle API e progettare payload per compatibilità a lungo termine.

Indice
JSON in parole semplici: cos'è e perché contaIl ruolo di Douglas Crockford nel rendere JSON mainstreamPrima di JSON: i formati con cui il web ha provato a conviverePerché JSON è minimale: le scelte di design che hanno funzionatoCome JSON è diventato il default tra frontend e backendJSON e API: il fit pratico con HTTPJSON vs XML: perché JSON solitamente vince per i dati delle appRegole JSON che continuano a sorprendere i teamProgettare payload JSON che invecchiano beneValidazione e contratti: JSON Schema e oltrePerformance e affidabilità con JSON su scalaProssimi passi per JSON e una semplice checklist di best practice
Condividi
Koder.ai
Build your own app with Koder today!

The best way to understand the power of Koder is to see it for yourself.

Start FreeBook a Demo