Què és JSON? Una guia senzilla amb exemples
JSON (JavaScript Object Notation) és un format de text senzill per escriure dades estructurades —coses com un client, una comanda o una llista de productes— com a noms emparellats amb valors. És fàcil de llegir per a les persones i fàcil de generar i analitzar per als programes. Quan les apps i els serveis intercanvien dades per la web, JSON és, de llarg, el format més habitual.
Per què JSON importa quan construeixes amb IA
Trobaràs JSON constantment, encara que mai no escriguis codi:
- API. Quan les pantalles de la teva app carreguen dades del seu backend, o el teu backend crida un servei de pagaments, correu o IA, les dades normalment viatgen com a JSON. Consulta què és una API.
- Fitxers de configuració. Molts fitxers de configuració de projectes són JSON; per exemple,
package.json, que llista les dependències d'un projecte JavaScript. - Bases de dades. Postgres pot guardar JSON en una columna (el tipus
jsonb) per a dades que no encaixen en files i columnes ordenades. Consulta què és Postgres. - Sortida de la IA. Quan vols que un model d'IA retorni alguna cosa que un programa pugui utilitzar —una llista d'etiquetes, camps extrets d'una factura—, normalment li demanes JSON.
- Missatges d'error i registres. Molts errors arriben en JSON, i llegir-los sovint és la manera més ràpida de saber què ha fallat.
Saber llegir JSON et permet comprovar què ha rebut realment la teva app, detectar un camp que falta i descriure els problemes amb precisió al teu constructor d'IA.
Una analogia quotidiana
Pensa en un formulari de paper: Nom: ____, Telèfon: ____, Butlletí: ☐ sí ☐ no. Cada entrada és una etiqueta amb un valor al costat. JSON és aquest formulari escrit com a text, amb una disposició estricta que un ordinador pot llegir sense endevinar. I, com els formularis, JSON pot tenir seccions dins de seccions (un bloc d'adreça amb carrer, ciutat i codi postal) i llistes (diversos números de telèfon).
Com es veu JSON
Aquí tens una sola reserva en JSON:
{
"id": 5001,
"customer": "Lena Park",
"service": "Tall de cabell",
"startsAt": "2026-10-03T14:00:00Z",
"price": 35.5,
"paid": false,
"notes": null,
"extras": ["retallar la barba", "tovallola calenta"],
"contact": {
"email": "lena@example.com",
"phone": "+44 20 7946 0000"
}
}
Llegint-lo:
- Les claus
{ }envolten un objecte: un conjunt de parells nom/valor. - Cada parell és
"nom": valor, separats per comes. - Els corxets
[ ]envolten un array: una llista ordenada. - Els objectes i els arrays poden estar dins els uns dels altres, com passa amb
contactiextras.
Els sis tipus de valor
JSON només té sis tipus de valor. Aquesta llista tan petita és una part important del motiu pel qual funciona a tot arreu.
| Tipus | Exemple | Notes |
|---|---|---|
| Cadena (text) | "Lena Park" | Sempre amb cometes dobles |
| Nombre | 35.5, -2, 1e6 | Sense cometes; sense símbols de moneda |
| Booleà | true, false | En minúscules, sense cometes |
| Null | null | « Cap valor » |
| Objecte | { "city": "Leeds" } | Valors amb nom |
| Array | [1, 2, 3] | Llista ordenada; els elements poden ser de qualsevol tipus |
No hi ha tipus de data. Les dates s'escriuen com a cadenes, normalment en el format ISO 8601 que s'ha mostrat abans (2026-10-03T14:00:00Z, on Z vol dir UTC). Acordar aquest format evita tota una categoria d'errors de fus horari.
Les regles estrictes (d'on venen els errors)
JSON és menys tolerant del que sembla. Aquests exemples són tots no vàlids:
{ name: "Lena" } ← clau sense cometes dobles
{ 'name': 'Lena' } ← cometes simples
{ "a": 1, "b": 2, } ← coma final
{ "a": 1 "b": 2 } ← coma que falta
{ "a": 1 // comentari } ← els comentaris no estan permesos
La majoria d'errors « Unexpected token » que veuràs són un d'aquests. Un validador o formatador de JSON et mostrarà la línia exacta.
Un exemple pas a pas: JSON a través d'una app
Un client reserva un tall de cabell en una app de perruqueria. Aquí és on apareix JSON:
- El formulari de reserva envia això al backend de l'app:
{ "service": "Tall de cabell", "startsAt": "2026-10-03T14:00:00Z", "name": "Lena Park" }
- El backend guarda la reserva a la base de dades i respon amb l'estat
201 Createdi:
{ "id": 5001, "status": "confirmed" }
- Si l'hora ja estava ocupada, pot respondre amb l'estat
409 Conflicti:
{ "error": "slot_taken", "message": "Aquesta hora acaba de reservar-se. Tria una altra." }
La pàgina llegeix status o error i mostra el missatge correcte. Si en lloc d'això la pàgina mostrés una pantalla en blanc, obrir les eines per a desenvolupadors del navegador (pestanya Network) et mostraria aquest JSON, sovint la pista més ràpida per saber què ha anat malament.
Termes clau
| Terme | Significat |
|---|---|
| Clau | El nom d'un parell nom/valor, com "email". |
| Parsejar | Convertir text JSON en dades que un programa pugui utilitzar. |
| Serialitzar / stringify | Convertir dades en text JSON per enviar-les o guardar-les. |
| Payload | Les dades enviades en una petició o resposta. |
| Esquema | Una descripció de la forma que han de tenir les dades: quins camps i quins tipus. JSON Schema és un estàndard per escriure'n un. |
| JSONB | El tipus de columna JSON binari de Postgres, que es pot indexar i consultar. |
| NDJSON / JSON Lines | Un objecte JSON per línia, habitual en registres i en streaming. |
Idees errònies habituals
- « JSON és JavaScript.» Ve de la sintaxi de JavaScript, però és independent del llenguatge; Python, Java, C#, Go i la resta el llegeixen.
- « Els números entre cometes van bé.»
"35"és una cadena, no un nombre. Barrejar-los causa errors com que"35" + "5"es converteixi en"355". Els diners sovint és millor guardar-los en cèntims enters (3550) per evitar problemes d'arrodoniment. - « JSON és segur perquè només són dades.» JSON pot portar qualsevol cosa, també secrets. No hi posis claus d'API en un JSON que s'envia al navegador.
- « Posa-ho tot en una columna JSON.» És pràctic per a extres flexibles, però les dades que cerques, filtres o unis normalment han d'anar en columnes adequades.
- « La IA sempre retorna JSON vàlid.» Els models poden afegir text extra o trencar el format. Molts proveïdors ofereixen un mode de sortida estructurada; el teu codi igualment ha de comprovar el que rep.
Què demanar al teu constructor d'IA
- « Mostra'm un exemple del JSON que retorna aquest endpoint. »
- « Retorna els errors com a JSON amb un codi
errori unmessagellegible per a les persones. » - « Guarda les dates com a cadenes ISO 8601 en UTC i converteix-les a l'hora local només en pantalla. »
- « Guarda els preus com a cèntims enters. »
- « Valida el JSON entrant al servidor i rebutja les peticions amb camps que falten o amb tipus incorrectes. »
- « Quan cridis al model d'IA, demana JSON amb aquesta forma exacta i comprova-ho abans d'utilitzar-lo. »
JSON a Mythex
No cal que escriguis JSON a mà a Mythex: descrius el que vols i l'agent escriu el codi que l'envia i el llegeix. Tot i així, ajuda a reconèixer-lo: quan alguna cosa es trenca, enganxar l'error de JSON al xat dona a l'agent una pista precisa. La recepta de backend REST API de la documentació demana « errors JSON clars » des del principi, i la recepta integrar qualsevol API explica com cridar serveis externs. Per a la visió general, consulta REST vs GraphQL i com depurar una app creada amb IA.
Preguntes
Què és JSON en termes senzills?
JSON (JavaScript Object Notation) és un format de text pla per escriure dades estructurades com a noms i valors, com « "name": "Lena" ». Gairebé totes les API web l'utilitzen per enviar dades d'un costat a l'altre, i moltes apps l'empren per a configuracions i dades guardades.
JSON és un llenguatge de programació?
No. JSON és un format de dades, no un llenguatge. No pot fer res per si mateix: només descriu dades. Tot i que va sorgir de JavaScript, pràcticament tots els llenguatges de programació el poden llegir i escriure.
Quina diferència hi ha entre JSON i un objecte de JavaScript?
S'assemblen, però JSON és més estricte. En JSON, totes les claus han d'anar entre cometes dobles, les cadenes usen cometes dobles, no hi ha comentaris ni comes finals, i els valors es limiten a cadenes, nombres, true, false, null, objectes i arrays.
Per què el meu JSON diu que no és vàlid?
Les causes habituals són una coma final després de l'últim element, cometes simples en lloc de dobles, una coma que falta entre elements, un corxet sense tancar o un comentari. Enganxa'l en un validador de JSON i et dirà la línia exacta.