Guide

Cos'è JSON? Una guida in linguaggio semplice con esempi

JSON (JavaScript Object Notation) è un formato di testo semplice per scrivere dati strutturati, come un cliente, un ordine o un elenco di prodotti, come coppie di nomi e valori. È facile da leggere per le persone e facile da produrre e analizzare per i programmi. Quando app e servizi si scambiano dati sul web, JSON è di gran lunga il formato più comune.

Perché JSON conta quando costruisci con l'AI

Incontrerai JSON continuamente, anche se non scrivi mai codice:

  • API. Quando le schermate della tua app caricano dati dal backend, o il tuo backend chiama un servizio di pagamento, email o AI, i dati di solito viaggiano in JSON. Vedi cos'è un'API.
  • File di impostazioni. Molti file di configurazione dei progetti sono in JSON, per esempio package.json, che elenca le dipendenze di un progetto JavaScript.
  • Database. Postgres può salvare JSON in una colonna (il tipo jsonb) per dati che non si adattano a righe e colonne ordinate. Vedi cos'è Postgres.
  • Output dell'AI. Quando vuoi che un modello AI restituisca qualcosa che un programma può usare, come un elenco di tag o i campi estratti da una fattura, di solito chiedi JSON.
  • Messaggi di errore e log. Molti errori arrivano in JSON, e leggerli è spesso il modo più rapido per capire cosa è andato storto.

Saper leggere JSON ti permette di controllare cosa ha ricevuto davvero la tua app, individuare un campo mancante e descrivere i problemi con precisione al tuo app builder AI.

Un esempio quotidiano

Pensa a un modulo di carta: Nome: ____, Telefono: ____, Newsletter: ☐ sì ☐ no. Ogni voce è un'etichetta con accanto un valore. JSON è quel modulo scritto come testo, con un'impaginazione rigida che un computer può leggere senza indovinare. E come nei moduli, JSON può avere sezioni dentro altre sezioni (un blocco indirizzo con via, città e CAP) ed elenchi (più numeri di telefono).

Com'è fatto JSON

Ecco una singola prenotazione in JSON:

{
  "id": 5001,
  "customer": "Lena Park",
  "service": "Taglio",
  "startsAt": "2026-10-03T14:00:00Z",
  "price": 35.5,
  "paid": false,
  "notes": null,
  "extras": ["barba", "asciugamano caldo"],
  "contact": {
    "email": "lena@example.com",
    "phone": "+39 02 1234 5678"
  }
}

Come leggerla:

  • Le parentesi graffe { } racchiudono un oggetto, cioè un insieme di coppie nome/valore.
  • Ogni coppia è "nome": valore, separate da virgole.
  • Le parentesi quadre [ ] racchiudono un array, cioè un elenco ordinato.
  • Oggetti e array possono stare uno dentro l'altro, come contact ed extras.

I sei tipi di valore

JSON ha solo sei tipi di valore. Questo piccolo elenco è in gran parte il motivo per cui funziona ovunque.

TipoEsempioNote
Stringa (testo)"Lena Park"Sempre virgolette doppie
Numero35.5, -2, 1e6Senza virgolette; niente simboli di valuta
Booleanotrue, falseMinuscolo, senza virgolette
Nullnull«Nessun valore»
Oggetto{ "city": "Leeds" }Valori con nome
Array[1, 2, 3]Elenco ordinato; gli elementi possono essere di qualsiasi tipo

Non esiste un tipo data. Le date si scrivono come stringhe, di solito nel formato ISO 8601 mostrato sopra (2026-10-03T14:00:00Z, dove Z significa UTC). Concordare questo formato evita un'intera categoria di errori legati al fuso orario.

Le regole rigide (da cui nascono gli errori)

JSON è meno tollerante di quanto sembri. Questi esempi sono tutti non validi:

{ name: "Lena" }            ← chiave senza virgolette doppie
{ 'name': 'Lena' }          ← apici singoli
{ "a": 1, "b": 2, }         ← virgola finale
{ "a": 1 "b": 2 }           ← virgola mancante
{ "a": 1 // commento }      ← i commenti non sono ammessi

La maggior parte degli errori «Unexpected token» che vedrai è uno di questi. Un validatore o formattatore JSON ti mostrerà la riga esatta.

Esempio pratico: JSON attraverso un'app

Un cliente prenota un taglio in un'app per parrucchieri. Ecco dove compare JSON:

  1. Il modulo di prenotazione invia questo al backend dell'app:
{ "service": "Taglio", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
  1. Il backend salva la prenotazione nel database e risponde con lo stato 201 Created e:
{ "id": 5001, "status": "confirmed" }
  1. Se l'orario era già occupato, potrebbe rispondere invece con lo stato 409 Conflict e:
{ "error": "slot_taken", "message": "Questo orario è appena stato prenotato. Scegline un altro." }

La pagina legge status o error e mostra il messaggio giusto. Se la pagina mostrasse invece una schermata vuota, aprire gli strumenti per sviluppatori del browser (scheda Network) ti mostrerebbe questo JSON, spesso l'indizio più rapido su cosa è andato storto.

Termini chiave

TermineSignificato
ChiaveIl nome in una coppia nome/valore, come "email".
ParsingTrasformare il testo JSON in dati che un programma può usare.
Serializzare / stringifyTrasformare dati in testo JSON per inviarli o salvarli.
PayloadI dati inviati in una richiesta o una risposta.
SchemaUna descrizione della forma che i dati devono avere: quali campi e quali tipi. JSON Schema è un modo standard per scriverne uno.
JSONBIl tipo di colonna JSON binario di Postgres, che può essere indicizzato e interrogato.
NDJSON / JSON LinesUn oggetto JSON per riga, comune per i log e lo streaming.

Idee sbagliate comuni

  • «JSON è JavaScript». Ha preso la sintassi da JavaScript, ma è indipendente dal linguaggio: Python, Java, C#, Go e tutti gli altri lo leggono.
  • «I numeri tra virgolette vanno bene». "35" è una stringa, non un numero. Mescolarli causa bug come "35" + "5" che diventa "355". Il denaro spesso conviene salvarlo in centesimi interi (3550) per evitare problemi di arrotondamento.
  • «JSON è sicuro perché sono solo dati». JSON può contenere qualsiasi cosa, compresi i segreti. Non mettere chiavi API in un JSON inviato al browser.
  • «Metti tutto in una colonna JSON». Comodo per extra flessibili, ma i dati che cerchi, filtri o unisci di solito appartengono a colonne vere.
  • «L'AI restituisce sempre JSON valido». I modelli possono aggiungere testo extra o rompere il formato. Molti provider offrono una modalità di output strutturato; il tuo codice dovrebbe comunque controllare ciò che arriva.

Cosa chiedere al tuo app builder AI

  • «Mostrami un esempio del JSON che restituisce questo endpoint.»
  • «Restituisci gli errori come JSON con un codice error e un message leggibile.»
  • «Salva le date come stringhe ISO 8601 in UTC e convertile in ora locale solo a schermo.»
  • «Salva i prezzi come centesimi interi.»
  • «Valida il JSON in ingresso lato server e rifiuta le richieste con campi mancanti o di tipo sbagliato.»
  • «Quando chiami il modello AI, chiedi JSON in questa forma precisa e controllalo prima di usarlo.»

JSON in Mythex

In Mythex non devi scrivere JSON a mano: descrivi ciò che vuoi e l'agente scrive il codice che lo invia e lo legge. Conviene però riconoscerlo: quando qualcosa si rompe, incollare l'errore JSON nella chat dà all'agente un indizio preciso. La ricetta del backend REST API della documentazione chiede fin dall'inizio «errori JSON chiari», e la ricetta integrare qualsiasi API copre le chiamate a servizi esterni. Per il quadro generale, vedi REST vs GraphQL e come fare debug di un'app costruita con l'AI.

Domande

Cos'è JSON in parole semplici?

JSON (JavaScript Object Notation) è un formato di testo semplice per scrivere dati strutturati come nomi e valori, per esempio "name": "Lena". Quasi tutte le API web lo usano per scambiarsi dati, e molte app lo usano per impostazioni e dati salvati.

JSON è un linguaggio di programmazione?

No. JSON è un formato di dati, non un linguaggio. Da solo non può fare nulla: descrive soltanto dei dati. Anche se nasce da JavaScript, praticamente ogni linguaggio di programmazione sa leggerlo e scriverlo.

Qual è la differenza tra JSON e un oggetto JavaScript?

Si assomigliano, ma JSON è più rigido. In JSON ogni chiave deve stare tra virgolette doppie, le stringhe usano virgolette doppie, non ci sono commenti né virgole finali, e i valori sono limitati a stringhe, numeri, true, false, null, oggetti e array.

Perché il mio JSON risulta non valido?

Le cause più comuni sono una virgola finale dopo l'ultimo elemento, apici singoli al posto delle virgolette doppie, una virgola mancante tra gli elementi, una parentesi non chiusa o un commento. Incollalo in un validatore JSON e ti indicherà la riga.

Mythex · Pricing · Crea qualsiasi cosa con l'AI · Template per siti web e app · Mythex a confronto · Glossario per creare app con l'AI · Strumenti gratuiti per creare app con l'AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Latviešu Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)