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

  1. 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
  2. Elige el modo de procesamiento: Stringify por defecto (objeto → cadena embebible); para análisis inverso, haz clic en "Parse" para cambiar a cadena → objeto
  3. En modo Stringify, cambia entre formato "Pretty" (sangría de 2 espacios) o "Compact" (una línea) según necesites
  4. 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

python
import 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"])  # Alice

Embeber 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 originalTras StringifyNombreNota
"\"Comilla dobleDebe escaparse o cierra la comilla externa
\\\Barra invertidaEl carácter de escape en sí necesita doble representación
Salto de línea LF\nNewlineCadenas multilínea deben escaparse al comprimir a una línea
Retorno de carro\rCarriage ReturnCR en finales de línea Windows CRLF
Tabulación\tTabEscape de tabulación de sangría
Retroceso\bBackspaceEscape de carácter de control
Avance de página\fForm FeedEscape de carácter de control
//BarraPermitido pero no requerido por el estándar JSON

JSON.stringify vs Herramienta Stringify vs JSON Escape

HerramientaEntradaSalidaEscenario típico
JSON.stringify()Objeto JSCadena JSON válidaRespuestas API, persistencia de archivos, JSON entre servicios
Esta herramienta modo StringifyObjeto JSONCadena embebible con comillas externas + escapes internosEmbeber en código, URL, campos de cadena de BD
Esta herramienta modo ParseCadena stringifiedObjeto JSON estándarRestaurar cadenas en logs/BD a objetos
Herramienta JSON EscapeCadena planaCadena con sólo caracteres especiales escapadosEscapar caracteres especiales en SQL/HTML/Shell
JSON.stringify(value, replacer, space)Objeto JS + filtro/sangría opcionalCadena JSON con sangría/filtradaLogs de depuración, generar archivos JSON legibles

Authoritative References