El paper del format JSON en l'intercanvi de dades i les API
El format JSON (JavaScript Object Notation) s'ha convertit en l'estàndard de facto per a l'intercanvi de dades a la web, especialment en el desenvolupament d'API i fitxers de configuració. La seva estructura lleugera i basada en text facilita la transmissió d'informació estructurada entre servidors i aplicacions. No obstant això, quan les dades es transmeten o s'emmagatzemen de manera optimitzada, sovint perden el seu format llegible per als humans.
Aquest formatejador de JSON resol aquest problema convertint cadenes de text denses i desordenades en estructures netes i jeràrquiques. L'eina permet enganxar text directament a l'àrea d'entrada o obrir fitxers amb les extensions .json o .txt mitjançant el botó "Obrir fitxer" o arrossegant i deixant anar el document sobre la interfície. Perquè el processament sigui correcte, els fitxers han d'estar codificats en UTF-8.
Validació de JSON i detecció d'errors de sintaxi
La validació és un pas crític abans d'utilitzar qualsevol dada JSON en entorns de producció o codi d'aplicacions. Un sol caràcter incorrecte pot provocar fallades en el processament de les API. Aquesta eina analitza l'estructura del text introduït i mostra de manera dinàmica l'estat de validació amb els indicadors "JSON vàlid" o "JSON no vàlid".
Quan el document conté errors, l'eina no només identifica el problema, sinó que també assenyala la ubicació exacta mitjançant el format "línia {line}, columna {col}" i ofereix un botó "Anar a l'error" per facilitar-ne la correcció. Entre els errors de sintaxi comuns que es detecten i es detallen hi ha:
- "Falta una coma entre elements"
- "Coma sobrera abans del tancament"
- "Les claus d'objecte han d'anar entre cometes dobles"
- "Falten els dos punts després d'un nom de propietat"
- "A una cadena li falta la cometa de tancament"
- "El JSON acaba abans d'hora — sembla truncat"
- "Caràcter inesperat on hi hauria d'haver un valor"
- "Aquest JSON té massa nivells d'imbricació per processar-lo"
- "Clau duplicada
{key}— elimineu-ne una abans de formatar" (l'eina genera un error en lloc de fusionar o descartar valors de manera silenciosa).
Tècniques de format i minimització de dades
L'eina ofereix dues operacions principals per adaptar la presentació de les dades segons les necessitats de l'usuari:
- Formatejar: Permet definir un nivell de sagnat ("Sagnat") per estructurar el document visualment, facilitant la lectura de la jerarquia de dades. Un cop aplicat, es mostra el missatge "JSON formatejat.".
- Minimitzar: L'acció "Minimitzar" elimina tots els espais en blanc, tabulacions i salts de línia innecessaris per reduir la mida del fitxer al mínim indispensable per a la transmissió o emmagatzematge eficient. En finalitzar, es mostra el missatge "JSON minimitzat.".
A més, l'usuari pot utilitzar la funció "Ordenar claus" per organitzar les claus dels objectes de manera recursiva per punt de codi, mantenint sempre intacte l'ordre original dels elements dins dels arrays. Després d'executar aquesta acció, es mostra el missatge "Claus ordenades — l'ordre dels arrays no ha canviat. Premeu Ctrl/Cmd+Z per desfer.".
Navegació de dades complexes amb la visualització en arbre
Per a documents extensos, la pestanya "Arbre" ofereix una representació interactiva de l'estructura de dades. Aquesta visualització permet explorar nodes de manera individual mitjançant els botons "Desplegar {key}" i "Replegar {key}", o gestionar tot el document amb els botons "Desplegar-ho tot" i "Replegar-ho tot".
La visualització en arbre inclou un cercador integrat amb l'etiqueta "Cercar claus i valors". Els resultats de la cerca es naveguen amb els botons "Coincidència anterior" i "Coincidència següent", mostrant indicadors de recompte com "{current} de {total}" o "{current} de {total}+" si se supera el límit de coincidències, o bé "Cap coincidència".
Aquesta modalitat de visualització té restriccions tècniques per garantir el rendiment del navegador:
- Si el JSON és invàlid, es mostra el missatge "Corregiu el JSON per visualitzar-lo en arbre.".
- Si el document és massa gran, es mostra "Aquest JSON és massa gran per mostrar-se en arbre." o "Aquest JSON té massa valors per mostrar-lo com a arbre.".
- En desplegar un arbre gran, es pot limitar la visualització amb el missatge "Aquest JSON és massa gran per desplegar-lo del tot — es mostren les primeres
{count}files.", oferint un botó "Mostrar-ne{count}més…".
Extracció de dades amb JSON Pointer i JSONPath
Quan es treballa amb estructures de dades complexes, sovint es necessita extreure la ruta exacta d'un valor concret. Dins de la visualització en arbre, cada node disposa del menú "Opcions de còpia per a {key}". Des d'aquest menú, l'usuari pot seleccionar diferents mètodes d'extracció:
- Copiar el valor: Copia directament el contingut del node seleccionat al porta-retalls.
- Copiar el JSON Pointer: Genera i copia la ruta de referència segons l'estàndard RFC 6901 (per exemple,
/arrel/propietat/0/valor). - Copiar el JSONPath: Genera i copia la ruta d'accés utilitzant la sintaxi de consulta JSONPath (per exemple,
$.propietat.valor).
Compatibilitat amb formats no estàndard i correcció automàtica
L'eina és capaç de detectar formats que s'assemblen al JSON però que no compleixen estrictament l'estàndard, oferint una previsualització de la correcció ("Previsualització de la correcció") amb les etiquetes "Original" i "Després de la correcció". Els formats detectats i les seves accions de reparació són:
| Format detectat | Missatge de detecció | Acció en aplicar la correcció |
|---|---|---|
| Bloc de codi Markdown | "Això sembla JSON dins d'un bloc de codi Markdown." | "En aplicar-ho, només es conserva el JSON de dins del bloc." |
| JSON escapat | "Això sembla JSON escapat dins d'una cadena." | "En aplicar-ho, la cadena es desescapa i queda JSON normal." |
| Diccionari de Python | "Això sembla un diccionari a l'estil de Python i no pas JSON." | "En aplicar-ho, es reescriuen les cometes i True/False/None com a JSON." |
| JSON Lines | "Això sembla JSON Lines — un valor per línia." | "En aplicar-ho, les línies s'agrupen en un d'únic array JSON." |
| JSONP | "Això sembla JSON embolcallat en una callback JSONP." | "En aplicar-ho, s'elimina l'embolcall de la callback." |
| JSONC | "Això sembla JSONC — comentaris o comes finals. Canvieu la sintaxi a JSONC o apliqueu la correcció." | "En aplicar-ho, s'eliminen els comentaris i les comes finals." |
Si es pot realitzar la correcció, s'aplica mitjançant el botó "Aplicar la correcció", mostrant el missatge "S'ha aplicat la correcció. Premeu Ctrl/Cmd+Z per desfer.". En cas contrari, es mostra "No s'ha pogut reparar aquesta entrada automàticament.".
Límits tècnics i privacitat de les dades
El processament de les dades es realitza de manera local directament al navegador de l'usuari; no es puja cap tipus d'informació als servidors de BroBroGo. L'eina preserva els enters grans sense pèrdua de precisió durant el processament.
Per garantir l'estabilitat del navegador, s'apliquen els següents límits i controls tècnics:
- Mida màxima d'entrada: El límit absolut de processament és de 10 MiB. Si se supera, es mostra "L'entrada supera
{limit}, més del que aquesta eina pot processar.". - Límit de fitxers: Si s'intenta carregar un fitxer que supera el límit establert, es mostra "El fitxer és massa gran — el límit és {limit}.".
- Llindar de processament síncron: Establert en 250.000 caràcters. Si l'anàlisi triga massa, el procés s'atura i es mostra el missatge "La comprovació d'aquest JSON ha trigat massa i s'ha aturat. Proveu amb un document més petit.".
Preguntes freqüents
Es puja el meu JSON a algun lloc?
No. El formatejador s'executa localment al seu navegador i no puja el seu JSON enlloc.
Què fa la funció de minimitzar?
La minimització (minify) elimina els espais i salts de línia innecessaris mantenint les mateixes dades JSON intactes.
Quins tipus de fitxers puc obrir a l'eina?
L'eina només admet fitxers de text amb les extensions .json o .txt que estiguin codificats en UTF-8. Si s'intenta obrir un altre format, es mostrarà el missatge "Tipus de fitxer no compatible — trieu un fitxer.json o.txt." o "Aquest fitxer no és text UTF-8 i, per tant, no es pot obrir aquí.".
Què passa si el meu JSON té claus duplicades?
A diferència d'altres lectors que descarten o fusionen els valors duplicats de manera silenciosa, aquesta eina llançarà un error amb el text "Clau duplicada {key} — elimineu-ne una abans de formatar" per evitar la pèrdua accidental de dades.