JSON Stringify
Herramienta online gratuita JSON Stringify / Parse. Con un clic serializa objetos JSON a cadenas con comillas listas para embeber en código o URL; también soporta Parse inverso para restaurar objetos JSON.
Relacionado
¿Qué es JSON Stringify (Serialización JSON y Embeber en Cadenas)?
JSON Stringify (serialización JSON) es la conversión de un objeto JSON (o array, valor) en una representación de cadena conforme a RFC 8259. En JavaScript, la forma estándar es llamar a `JSON.stringify(obj)`, que produce una cadena con comillas dobles como `{"name":"Alice"}` — esto completa "objeto → cadena", y el resultado en sí es JSON válido que puede ser re-analizado por cualquier JSON.parse().
Pero en proyectos reales, los desarrolladores a menudo necesitan "embeber" aún más el resultado de la serialización en otro texto — eso es lo que la herramienta JSON Stringify realmente resuelve: ① Poner la cadena JSON en código fuente JavaScript / Java / Python / Go como inicializador de variable; ② Guardar la cadena JSON en una columna TEXT de base de datos, valor Redis, o payload de cola de mensajes; ③ Usar la cadena JSON como valor de otro campo JSON ("JSON anidado", ej. logs de auditoría o respuestas API que envuelven el cuerpo completo de una llamada anterior); ④ Poner la cadena JSON en parámetros de URL o cabeceras HTTP para transmisión entre servicios.
En estos escenarios de "doble embeber", la salida cruda de `JSON.stringify()` no es suficiente — los saltos de línea, comillas dobles y barras invertidas dentro de la cadena deben escaparse de nuevo o romperán la estructura externa. La herramienta JSON Stringify de GeekFormat realiza automáticamente un "escape de embeber" sobre la serialización estándar: envuelve el resultado en otro par de comillas dobles y aplica escape de barra invertida a todos los caracteres especiales (", \, \n, \r, \t, \b, \f) dentro, de modo que la salida pueda pegarse en cualquier código o texto sin romper la sintaxis externa. Combinado con el modo Parse, también puedes restaurar completamente tales cadenas escapadas de vuelta a objetos JSON legibles. Todo el proceso ocurre localmente en el navegador; nada se sube.
Casos de uso
- Serializa objetos JSON como string literals y asigna directamente a variables de JavaScript / Java / Python / Go
- Anida JSON de respuestas API en otro campo JSON (un valor de cadena dentro del JSON externo)
- Guarda cadenas JSON en columnas TEXT de BD, valores Redis, payloads de cola de mensajes — cualquier lugar que requiera una cadena
- Transmite cadenas JSON como parámetros de consulta URL o partes de un path entre servicios
- Embebe fragmentos de código JSON legibles en documentos Markdown, HTML, LaTeX
- Análisis inverso de cadenas JSON en logs/archivos de configuración de vuelta a estructuras de objeto para revisión humana
Cómo Usar
- Pega contenido JSON (objeto / array / valor) en la caja de entrada izquierda, o haz clic en "Ejemplo" para cargar un JSON típico, o sube un archivo .json/.txt
- Elige el modo de procesamiento: Stringify por defecto (objeto → cadena embebible); para análisis inverso, haz clic en "Parse" para cambiar a cadena → objeto
- En modo Stringify, cambia entre formato "Pretty" (sangría de 2 espacios) o "Compact" (una línea) según necesites
- La caja de salida derecha se actualiza en tiempo real; tras la confirmación, haz clic en "Copiar" para pegar la cadena en código / documentos, o haz clic en "Descargar" para guardar como stringified.txt / parsed.json
Características
- Modo bidireccional: soporta tanto Stringify (objeto JSON → cadena con comillas embebible) como Parse (cadena con comillas → objeto JSON)
- Escape inteligente de embeber: sobre JSON.stringify estándar, envuelve automáticamente en comillas y escapa ", \, \n, \r, \t y otros caracteres especiales; pega directamente en código o texto
- Sangría configurable: soporta sangría de 0/2 espacios y modo compacto de una línea, adaptándose a diferentes estilos de código de lenguaje y necesidades de optimización de tamaño
- Embeber directo en código: el resultado de la serialización puede asignarse directamente a variables de JavaScript, Java, Python, Go y otros lenguajes principales sin re-escape manual
- Optimizado para escenario URL / base de datos: las cadenas de salida pueden colocarse de forma segura en parámetros de consulta, cuerpo HTTP, columnas TEXT de BD, documentos Markdown
- Restauración inversa completa Parse: elimina correctamente las comillas externas y desescapa todas las secuencias \n, \t, \", \\ de vuelta a un objeto JSON estándar
- Procesamiento local para privacidad: análisis, escape, desescape y formateo ocurren localmente en el navegador, no se envía entrada a ningún servidor
- Carga de archivos y ejemplos: soporta subir archivos .json/.txt o carga de ejemplos con un clic para verificación rápida del efecto de escape
Ejemplos de Código
Embeber en código fuente con JavaScript JSON.stringify
javascript// En negocio necesitas embeber un fragmento JSON como string literal en código JS
const data = { name: 'Alice', age: 30, tags: ['dev', 'writer'] };
// Serialización estándar
const json = JSON.stringify(data, null, 2);
// Escape de embeber: envolver con comillas externas + escapar " \ \n \r \t internos
const embedded = '"' + json
.replace(/\\/g, '\\\\')
.replace(/"/g, '\\"')
.replace(/\n/g, '\\n')
.replace(/\r/g, '\\r')
.replace(/\t/g, '\\t') + '"';
// Análisis inverso
const restored = JSON.parse(embedded);
console.log(restored.name); // 'Alice'Embeber con Python json.dumps + desescape
pythonimport json
data = {"name": "Alice", "age": 30, "tags": ["dev", "writer"]}
# Serializar y sangrar
pretty = json.dumps(data, indent=2, ensure_ascii=False)
print(pretty)
# Escape de embeber: json.dumps hace el escape completo por ti
embedded = json.dumps(pretty) # el valor string literal
print(embedded) # '"{\\n \\"name\\": \\"Alice\\",...\\n}"'
# Análisis inverso
restored = json.loads(json.loads(embedded))
print(restored["name"]) # AliceEmbeber JSON como cadena en la línea de comandos con jq
bash# Serializa data.json en una cadena con comillas embebible
jq -Rs . data.json
# Explicación: -R (raw input) + -s (slurp) trata el archivo entero como cadena,
# luego . lo convierte a literal de cadena JSON con " \ \n auto-escapados internamente
# Inverso: analizar una cadena de vuelta a JSON
echo '"{\"name\":\"Alice\"}"' | jq -r .Preguntas Frecuentes
¿Es JSON Stringify lo mismo que JSON.stringify()?
La lógica subyacente es la misma — ambos serializan un objeto JSON a una cadena. La diferencia es que esta herramienta, sobre la serialización estándar, también envuelve el resultado en otro par de comillas dobles y aplica escape de barra invertida a todos los caracteres especiales internos, de modo que la salida pueda pegarse directamente en código, URLs y campos de base de datos como "string literal" sin escribir escapes manualmente.
¿Cuál es la diferencia entre Stringify y JSON Escape?
JSON Stringify convierte un objeto JSON entero en una cadena con comillas embebible. JSON Escape sólo añade escape de barra invertida a caracteres especiales en una cadena existente, sin cambiar la estructura del objeto. El primero apunta a "objeto → cadena embebible"; el segundo a "cadena → cadena segura". Cuando tu entrada ya es JSON válido y necesitas embeberlo en código, usa Stringify; cuando tu entrada es un fragmento de texto plano, usa Escape.
¿Hará Stringify que el JSON sea menos legible?
No se pierden datos. Por defecto preserva sangría de 2 espacios y saltos de línea, así que el resultado sigue siendo JSON válido y legible. Si necesitas una cadena más corta de una sola línea para escenarios de embeber sensibles al tamaño, cambia al modo "Compact".
¿Puede el modo Parse restaurar cadenas con secuencias \n \t \"?
Sí. El modo Parse detecta automáticamente si la entrada está envuelta en comillas externas, desescapa todas las secuencias comunes como \n, \r, \t, \", \\ según las reglas JSON, y analiza de vuelta en un objeto JSON estándar. Nota que la entrada debe ser una cadena legalmente escapada, de lo contrario se reportará SyntaxError.
¿Puede la salida de Stringify ir directamente a una URL?
Puede, pero recomendamos un paso adicional de URL Encode. Stringify maneja caracteres de sintaxis JSON (", \, saltos de línea), mientras que las URLs también tratan &, =, espacio, chino como caracteres reservados. Para parámetros URL, deberías llamar adicionalmente encodeURIComponent — esta herramienta sólo es responsable de la seguridad a nivel JSON.
¿Cómo manejar JSON anidado (una cadena JSON como valor de otro JSON)?
El modo Stringify primero serializa el JSON interno normalmente para obtener una cadena, luego realiza un "escape de embeber" sobre esa cadena (comillas más externas, escape interno de ", \, \n). El resultado es un "valor de campo de cadena válido del JSON externo" que puede pegarse directamente en el JSON externo. El modo Parse hace lo contrario.
¿La herramienta modifica el orden de los campos o nombres de claves?
No. Stringify emite estrictamente en el orden actual de campos del objeto de entrada, y no cambia mayúsculas/minúsculas, espaciado o singular/plural en los nombres de claves. Si necesitas un orden unificado de claves, ejecuta primero JSON Sort; si las claves contienen chino o caracteres especiales, la herramienta los emite según la especificación JSON.
¿Puede el resultado guardarse como archivo directamente?
Sí. En modo Stringify, hacer clic en "Descargar" guarda como stringified.txt (cadena plana); en modo Parse, guarda como parsed.json (archivo JSON estándar). También puedes copiar al portapapeles y pegar en código o documentos.
¿Se retrasará con entradas de varios MB?
Esta herramienta está optimizada para entradas dentro de 1–3 MB; entradas más grandes (ej. 10 MB+) aún pueden procesarse pero estarán limitadas por la memoria del navegador. Recomendaciones: ① ejecuta JSON.stringify localmente en un script Node.js para archivos enormes; ② divide en lotes más pequeños para usar esta herramienta; ③ cierra otras pestañas del navegador para liberar memoria.
¿Es normal tener chino/emoji dentro de la salida de Stringify?
Sí. La especificación JSON permite que caracteres Unicode no-ASCII (incluyendo chino, emoji) aparezcan directamente dentro de cadenas, y no se escaparán automáticamente a \uXXXX. Sólo ", \ y caracteres de control se escapan. Si necesitas la forma \uXXXX (ej. para compatibilidad con protocolos antiguos), puedes post-procesar la salida en código.
¿La herramienta subirá mi JSON a un servidor?
No. La serialización, deserialización, escape, desescape y formateo ocurren todos localmente en el navegador; ni la entrada ni los resultados intermedios se envían a ningún servidor. Funciona sin conexión, apta para procesar configuraciones internas, respuestas API y JSON sensible.
¿Cuál es el mejor orden de uso con JSON Compress y JSON Formatter?
Cadena recomendada: ① Reparar JSON (limpiar JSON ilegal) → ② Formatear JSON (estandarizar sangría) → ③ JSON Sort (unificar orden de claves para comparación) → ④ Esta herramienta Stringify (embeber en cadena) → ⑤ JSON Escape (escape a nivel de carácter para fragmentos de texto plano). Elige los pasos que necesites.
Solución de problemas
Stringify muestra error "Invalid JSON"
Causa: la entrada no es JSON válido, ej. comas finales, comillas simples, nombres de clave sin comillas, comentarios. Solución: usa la herramienta Reparar JSON de GeekFormat para limpiarla primero, luego vuelve a Stringify; o elimina manualmente los caracteres ilegales en un editor e inténtalo de nuevo.
La salida no es JSON válido tras Parse
Causa: la cadena de entrada no está correctamente envuelta en comillas externas, o los caracteres de escape internos están rotos (ej. algunos editores eliminan automáticamente \). Solución: verifica que la entrada comienza con " o '; busca caracteres \ no emparejados; primero restaura con la herramienta Reparar JSON, luego Parse.
El orden de los campos cambia tras Stringify
Causa: unos pocos navegadores auto-ordenan claves enteras puras (ej. "0": ..., "1": ...) por orden numérico. Solución: cambia las claves enteras a claves de cadena ("k0", "k1") antes de procesar; o primero usa la herramienta JSON Sort para ordenar las claves en el orden deseado, luego Stringify.
SyntaxError al embeber en código JS
Causa: el empalme manual perdió escapes de barra invertida, o la comilla externa usó comillas simples mientras la cadena contiene comillas simples sin escapar. Solución: copia la salida del modo Stringify de esta herramienta directamente, sin edición manual; si debes usar comillas simples, reemplaza todas las ' internas con \'.
La salida muestra \uXXXX en lugar de chino
Causa: esta herramienta emite caracteres originales por defecto (chino/emoji mostrado directamente); si ves \uXXXX, tu entrada en sí ya era una cadena escapada. Solución: desescapa inversamente una vez en modo Parse, o en código usa ensure_ascii=False (Python) / un serializador que no escape.
Archivos grandes (10 MB+) congelan o colapsan el navegador
Causa: analizar un texto grande con JSON.parse de una sola vez占用 mucha memoria. Solución: corta la entrada en lotes de 1-2 MB; procesa archivos enormes localmente con Node.js (`JSON.stringify`) o Python (`json.dumps`); usa esta herramienta para verificación manual pequeña después.
Glosario
- JSON.stringify
- Método integrado de JavaScript que serializa un valor JS a una cadena JSON; el resultado devuelto es en sí mismo JSON válido que puede ser re-analizado por JSON.parse, pero por defecto no contiene comillas externas ni escape adicional.
- JSON.parse
- Método integrado de JavaScript que analiza una cadena conforme a RFC 8259 en un valor JS; lanza SyntaxError inmediatamente ante cualquier error de sintaxis.
- Serialize / Serializar
- Proceso de convertir una estructura de datos en memoria (objeto/array) en un formato de texto almacenable/transmisible (cadena JSON). JSON Stringify es la implementación más común.
- Deserialize / Deserializar
- Inverso de la serialización — restaurar una cadena JSON de vuelta a un objeto/array en memoria. Corresponde a JSON.parse.
- Escape
- Añadir una barra invertida antes de caracteres especiales (" → \", \ → \\, \n → \n, etc.) para que la cadena pueda embeberse de forma segura en código o texto externo sin romper la sintaxis externa.
- String Literal
- Constante de cadena envuelta en un par de comillas en el código fuente. La forma de salida final de JSON Stringify es exactamente el string literal de JS/Java/Python y otros lenguajes.
- Double-Escape
- Una cadena que ya ha sido escapada una vez se escapa de nuevo al embeber en otra capa. Por ejemplo, `\n` con doble escape se convierte en `\\n` — un error común de empalme manual en logs y almacenamiento en base de datos.
- Unicode Escape (\uXXXX)
- JSON permite `\uXXXX` para representar cualquier carácter Unicode. La librería estándar JS no convierte automáticamente chino/emoji a `\uXXXX` a menos que se especifique explícitamente `ensure_ascii=True`.
- ensure_ascii (Python)
- Parámetro del módulo json.dumps de Python. Cuando es True (por defecto), convierte todos los caracteres no-ASCII a `\uXXXX`; cuando es False, mantiene los caracteres originales.
- URL Encode
- Convierte caracteres reservados de URL (&, =, espacio, chino, etc.) a la forma `%XX`. JSON Stringify sólo maneja caracteres de sintaxis JSON; los parámetros URL también necesitan encodeURIComponent.
Referencia de Escape de Caracteres JSON Stringify
| Carácter original | Tras Stringify | Nombre | Nota |
|---|---|---|---|
" | \" | Comilla doble | Debe escaparse o cierra la comilla externa |
\ | \\ | Barra invertida | El carácter de escape en sí necesita doble representación |
Salto de línea LF | \n | Newline | Cadenas multilínea deben escaparse al comprimir a una línea |
Retorno de carro | \r | Carriage Return | CR en finales de línea Windows CRLF |
Tabulación | \t | Tab | Escape de tabulación de sangría |
Retroceso | \b | Backspace | Escape de carácter de control |
Avance de página | \f | Form Feed | Escape de carácter de control |
/ | / | Barra | Permitido pero no requerido por el estándar JSON |
JSON.stringify vs Herramienta Stringify vs JSON Escape
| Herramienta | Entrada | Salida | Escenario típico |
|---|---|---|---|
| JSON.stringify() | Objeto JS | Cadena JSON válida | Respuestas API, persistencia de archivos, JSON entre servicios |
| Esta herramienta modo Stringify | Objeto JSON | Cadena embebible con comillas externas + escapes internos | Embeber en código, URL, campos de cadena de BD |
| Esta herramienta modo Parse | Cadena stringified | Objeto JSON estándar | Restaurar cadenas en logs/BD a objetos |
| Herramienta JSON Escape | Cadena plana | Cadena con sólo caracteres especiales escapados | Escapar caracteres especiales en SQL/HTML/Shell |
| JSON.stringify(value, replacer, space) | Objeto JS + filtro/sangría opcional | Cadena JSON con sangría/filtrada | Logs de depuración, generar archivos JSON legibles |
Authoritative References
- Compresión JSON
- CSV a JSON
- JSON a CSV
- JSON Diff
- JSON Escape / Unescape
- JSON Flatten
- Formateo JSON
- Generador de JSON
- Consulta JSONPath
- Fusionar JSON
- Reparar JSON
- Validador JSON Schema
- Ordenar JSON
- JSON Stringify
- JSON a HTML
- JSON a Java
- JSON to Markdown
- JSON a SQL
- JSON a TOML
- JSON a TypeScript
- XML a JSON
- JSON a XML
- YAML a JSON
- JSON a YAML
- JSON a Python
- JSON a Go
- JSON a Rust
- JSON a Swift
- JSON a C#
- JSON a C++
- JSON a PHP