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
- Enganxa JSON o una string al panell esquerre, o usa sample / upload de fitxer
- Tria Stringify o Parse i ajusta el format de sortida si cal
- Revisa el resultat al panell dret i copia'l al codi, document o configuració
- 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
javascriptconst 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
pythonimport 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
bashjq -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 original | Després de Stringify | Nom | Nota |
|---|---|---|---|
" | \" | Cometa doble | Cal escapar-la perquè no tanqui la string exterior |
\ | \\ | Backslash | El mateix caràcter d'escapament també s'ha de duplicar |
Salt de línia | \n | Newline | Necessari per incrustar text multilínia en una sola string |
Tab | \t | Tab | Escapament de caràcter de control |
CR | \r | Carriage Return | Part del final de línia de Windows |
/ | / | Slash | Normalment es pot deixar igual |
Diferència entre JSON.stringify i aquesta eina
| Eina | Entrada | Sortida | Ús habitual |
|---|---|---|---|
| JSON.stringify() | Objecte JS | String JSON estàndard | API, fitxers, serialització general |
| Mode Stringify d'aquesta eina | Objecte JSON | String per incrustar amb cometes i escape | Codi, BD, URL, JSON imbricat |
| Mode Parse d'aquesta eina | String escapada | Objecte JSON estàndard | Recuperar JSON des de logs o base de dades |
| JSON Escape | Text pla | String només amb caràcters especials escapats | Fer segur un fragment de text normal |
Authoritative References
- Comprimir JSON
- CSV a JSON
- JSON a CSV
- JSON Diff
- JSON Escape / Unescape
- Aplanar JSON
- JSON Formatter
- Generador de JSON
- Consulta JSONPath
- Combinar JSON
- Reparació JSON
- Validador d'Esquema JSON
- Ordenar JSON
- JSON Stringify
- JSON a HTML
- JSON a Java
- JSON a Markdown
- JSON a SQL
- JSON a TOML
- JSON a TypeScript
- XML a JSON
- Converteix JSON a XML
- YAML a JSON
- JSON → YAML
- JSON a Python
- JSON a Go
- JSON a Rust
- JSON a Swift
- JSON a C#
- JSON a C++
- JSON a PHP