Formatee y valide sus datos JSON para facilitar su lectura y depuración. Admite funciones de minificación, embellecimiento y resaltado de sintaxis.
Cuando el escape de salida está habilitado, las cadenas JSON se escapan para incrustarlas directamente en código de programa. Por ejemplo:
Salida normal::
{
"message": "Hello \"World\"",
"newline": "Line 1\nLine 2"
}
Salida escapada::
{\n \"message\": \"Hello \\\"World\\\"\",\n \"newline\": \"Line 1\\nLine 2\"\n}
JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos que es fácil de leer y escribir para los humanos, y fácil de analizar y generar para las máquinas. JSON se basa en un subconjunto del lenguaje JavaScript, pero es un formato de texto completamente independiente del lenguaje compatible con la mayoría de los lenguajes de programación para análisis y generación. JSON fue propuesto por Douglas Crockford a principios de la década de 2000 y se estandarizó en ECMA-404 y RFC 8259.
Tipo | Descripción | Ejemplo |
---|---|---|
Cadena | Secuencia de caracteres Unicode entre comillas dobles | "Hello World" |
Número | Entero o número de punto flotante, no se admiten valores no numéricos | 42 , 3.14 |
Objeto | Colección no ordenada de pares clave/valor | {"name": "John"} |
Matriz | Colección ordenada de valores | [1, 2, 3] |
Booleano | true o false | true |
null | Valor vacío | null |
El proceso de formateo JSON implica principalmente dos pasos: análisis y regeneración. Primero, el analizador lee la cadena JSON y construye una representación en memoria, luego el formateador regenera la cadena con sangría específica y saltos de línea. A continuación se muestra un proceso de formato simplificado:
// Simplified JSON formatting implementation
function formatJSON(jsonStr, indentSize = 2) {
try {
// Step 1: Parse JSON string to JavaScript object
const obj = JSON.parse(jsonStr);
// Step 2: Convert object back to string with indentation
return JSON.stringify(obj, null, indentSize);
} catch (e) {
// Handle invalid JSON
throw new Error("Invalid JSON: " + e.message);
}
}
// Usage example
const uglyJson = '{"name":"John","age":30,"city":"New York"}';
const prettyJson = formatJSON(uglyJson);
console.log(prettyJson);
/*
Output:
{
"name": "John",
"age": 30,
"city": "New York"
}
*/
Característica | JSON | XML |
---|---|---|
Sintaxis | Conciso, utilizando llaves y corchetes | Más complejo, utilizando etiquetas y atributos |
Tamaño de archivo | Generalmente más pequeño que XML | Generalmente más grande que JSON |
Velocidad de análisis | Más rápido | Más lento |
Tipos de datos | Admite tipos de datos básicos | Todos los datos son texto |
Espacios de nombres | No compatible | Compatible |
Comentarios | No compatible | Compatible |
Usabilidad | Más amigable para desarrolladores | Más estructurado y riguroso |
Problema: error de análisis JSON - falta coma o corchete
Solución: verifique todos los corchetes de cierre de objetos y matrices, asegúrese de que cada par clave/valor esté seguido de una coma (excepto el último).
Problema: error de análisis JSON - valor de clave no válido
Solución: asegúrese de que todas las claves estén entre comillas dobles, no se admiten comillas simples o nombres de clave sin comillas.
Problema: problema de tamaño de datos JSON
Solución: para datos JSON grandes, considere usar la versión comprimida para la transmisión, luego formatéela para mostrarla en el cliente.
Para obtener más información oficial sobre JSON, consulte los siguientes recursos: JSON.org | RFC 8259 | Wikipedia: JSON