JSON Stringify

Converteix JSON en una string fàcil d'enganxar dins de codi, URL o camps de text, i torna-la a recuperar com a JSON quan ho necessitis.

Relacionats

Què és JSON Stringify i incrustar JSON com a string?

JSON Stringify és el procés de convertir un objecte o array JSON en una representació textual. En JavaScript, la manera habitual és utilitzar `JSON.stringify()`.

En entorns reals, aquest resultat sovint s'ha d'incrustar dins de codi font, una columna de text de base de dades, un paràmetre URL o un altre JSON com a valor string. En aquests casos, cal escapar cometes, salts de línia i backslashes una vegada més.

Aquesta eina fa el stringify estàndard i després afegeix automàticament les cometes externes i l'escapament necessari. El mode Parse desfà aquest procés i retorna un JSON llegible. Tot passa localment al navegador.

Casos d'ús

  • Convertir JSON en string literal per a JavaScript / Java / Python / Go
  • Guardar una resposta API com a string dins d'un altre JSON
  • Desar una string JSON en una columna TEXT o en un valor Redis
  • Enviar JSON per query parameter o header d'URL
  • Recuperar JSON escapats de logs o fitxers de configuració

Com usar-ho

  1. Enganxa JSON o una string al panell esquerre, o usa sample / upload de fitxer
  2. Tria Stringify o Parse i ajusta el format de sortida si cal
  3. Revisa el resultat al panell dret i copia'l al codi, document o configuració
  4. Si ho vols, descarrega `stringified.txt` o `parsed.json`

Característiques

  • Dos modes: suporta Stringify i Parse per convertir en tots dos sentits
  • Escapament automàtic: tracta correctament cometes, backslashes, salts de línia i tabs
  • Diversos formats de sortida: string amb cometes, JSON formatat o versió compacta en una línia
  • Preparat per incrustar en codi: fàcil d'enganxar a JavaScript, Java, Python i Go
  • Útil per a URL i bases de dades: facilita guardar o moure JSON com a text
  • Processament totalment local: la serialització i la restauració es fan al navegador

Exemples de codi

JavaScript: convertir JSON a string per incrustar

javascript
const data = { name: 'Alice', age: 30, tags: ['dev', 'writer'] };
const json = JSON.stringify(data, null, 2);
const embedded = '"' + json
  .replace(/\\/g, '\\\\')
  .replace(/"/g, '\\"')
  .replace(/\n/g, '\\n')
  .replace(/\r/g, '\\r')
  .replace(/\t/g, '\\t') + '"';

Python: tornar a escapar amb json.dumps

python
import json

data = {"name": "Alice", "age": 30}
pretty = json.dumps(data, indent=2, ensure_ascii=False)
embedded = json.dumps(pretty)
restored = json.loads(json.loads(embedded))

jq: convertir un fitxer JSON a string

bash
jq -Rs . data.json

echo '"{\"name\":\"Alice\"}"' | jq -r .

Preguntes freqients

JSON Stringify és el mateix que JSON.stringify()?

La serialització base és la mateixa, però aquesta eina afegeix cometes externes i escapament intern per incrustar el resultat amb seguretat.

En què es diferencia de JSON Escape?

JSON Stringify treballa amb tot l'objecte JSON, mentre que JSON Escape només tracta els caràcters especials d'una string normal.

Després de Stringify el JSON serà difícil de llegir?

No. En mode Pretty es mantenen els salts de línia i el sagnat perquè continuï sent llegible.

El mode Parse pot recuperar `\n` i `\"`?

Sí. Si l'entrada està correctament escapada, l'eina elimina les cometes exteriors i restaura els caràcters especials.

Puc posar el resultat directament en una URL?

És segur a nivell JSON, però per a URL convé afegir `encodeURIComponent`.

Serveix per a JSON imbricat?

Sí. Pots convertir el JSON intern en string i guardar-lo com a valor dins d'un JSON extern.

Puc descarregar el resultat en un fitxer?

Sí. El mode Stringify desa `stringified.txt` i el mode Parse desa `parsed.json`.

El meu JSON s'envia a cap servidor?

No. Tot funciona localment, així que també és adequat per a dades sensibles.

Solució de problemes

Stringify mostra Invalid JSON

Sovint és per comes finals, cometes simples, claus sense cometes o comentaris.

Després de Parse el resultat no és JSON

Pot faltar la cometa exterior o pot haver-se trencat la seqüència de backslashes. Revisa l'entrada.

En enganxar-ho al codi apareix SyntaxError

Editar manualment cometes i backslashes pot espatllar el resultat. És millor copiar la sortida tal com surt.

Els JSON grans alenteixen el navegador

Amb diversos MB puja l'ús de memòria. Per a fitxers grans, millor Node.js o Python.

Els accents o emoji no passen a `\uXXXX`

És normal. JSON pot mantenir Unicode directament. Si necessites `\uXXXX`, fes un postprocés addicional.

Glossari

JSON.stringify
Mètode integrat de JavaScript per serialitzar un valor JS a una string JSON.
JSON.parse
Mètode integrat de JavaScript per convertir una string JSON de nou en objecte o array.
Serialize
Procés de convertir una estructura de dades en memòria a un format textual per guardar o transmetre.
Deserialize
Procés invers: recuperar l'estructura de dades a partir d'una string.
Escape
Afegir un backslash abans dels caràcters especials per no trencar la sintaxi exterior.
String Literal
Valor de text constant dins del codi font envoltat de cometes.
Double-Escape
Escapar de nou una string ja escapada quan s'incrusta en una altra capa.
URL Encode
Conversió dels caràcters especials d'URL a format `%XX`; és un pas separat del JSON escape.

Taula d'escapament de caràcters a JSON Stringify

Caràcter originalDesprés de StringifyNomNota
"\"Cometa dobleCal escapar-la perquè no tanqui la string exterior
\\\BackslashEl mateix caràcter d'escapament també s'ha de duplicar
Salt de línia\nNewlineNecessari per incrustar text multilínia en una sola string
Tab\tTabEscapament de caràcter de control
CR\rCarriage ReturnPart del final de línia de Windows
//SlashNormalment es pot deixar igual

Diferència entre JSON.stringify i aquesta eina

EinaEntradaSortidaÚs habitual
JSON.stringify()Objecte JSString JSON estàndardAPI, fitxers, serialització general
Mode Stringify d'aquesta einaObjecte JSONString per incrustar amb cometes i escapeCodi, BD, URL, JSON imbricat
Mode Parse d'aquesta einaString escapadaObjecte JSON estàndardRecuperar JSON des de logs o base de dades
JSON EscapeText plaString només amb caràcters especials escapatsFer segur un fragment de text normal

Authoritative References