¿Qué es JSON y para qué sirve?
Qué es JSON, cómo se organiza con objetos y arrays, cuáles son sus reglas de sintaxis y por qué es tan utilizado para intercambiar información entre aplicaciones y APIs.
Contenido del artículo
JSON es un formato de texto utilizado para representar información estructurada. Es común en APIs, archivos de configuración y aplicaciones web porque puede expresar objetos, listas, números, textos, valores booleanos y datos nulos de una forma relativamente legible.
¿Qué es JSON?
JSON significa JavaScript Object Notation. Aunque su sintaxis se inspiró en JavaScript, es un formato independiente que puede utilizarse desde muchos lenguajes.
Su función principal es representar datos, no ejecutar lógica.
¿Para qué sirve JSON?
JSON se utiliza para intercambiar información entre sistemas, guardar configuraciones y representar estructuras de datos de forma portable.
Una API puede enviar información de usuarios, productos o clima en JSON para que una aplicación la procese.
Estructura básica
JSON utiliza objetos y arrays. Un objeto agrupa pares clave-valor entre llaves y un array organiza valores entre corchetes.
Las claves de un objeto se escriben como cadenas de texto entre comillas dobles.
{
"nombre": "ByteNova",
"activo": true,
"temas": ["programación", "IA", "ciberseguridad"]
}Tipos de valores permitidos
JSON admite cadenas de texto, números, objetos, arrays, valores booleanos y null.
No admite directamente funciones, comentarios, fechas como tipo especial ni valores undefined.
Objetos JSON
Un objeto representa propiedades relacionadas. Cada clave debe ir entre comillas dobles y se separa del valor mediante dos puntos.
Las propiedades se separan con comas.
{
"id": 7,
"titulo": "Introducción a JSON",
"publicado": true
}Arrays en JSON
Un array permite guardar varios valores en orden. Puede contener números, textos, objetos u otros arrays.
Es común que una API devuelva una lista de registros como un array de objetos.
[
{"id": 1, "nombre": "HTML"},
{"id": 2, "nombre": "CSS"},
{"id": 3, "nombre": "JavaScript"}
]Datos anidados
Los objetos y arrays pueden combinarse para representar estructuras más complejas. Un usuario puede tener una dirección como objeto y una lista de roles como array.
Demasiada anidación puede dificultar el consumo, por lo que el diseño del formato también importa.
Reglas de sintaxis importantes
Las cadenas usan comillas dobles, no se permiten comas finales y las claves de objetos deben escribirse entre comillas.
Un pequeño error de sintaxis puede hacer que todo el documento sea inválido.
JSON y JavaScript
JavaScript incluye JSON.parse para convertir texto JSON en valores del lenguaje y JSON.stringify para convertir valores compatibles a texto JSON.
Esto facilita guardar o enviar información, pero parsear datos no significa que debas confiar automáticamente en su contenido.
const texto = '{"nombre":"ByteNova"}';
const datos = JSON.parse(texto);
console.log(datos.nombre);JSON y las APIs
Muchas APIs web utilizan JSON como formato de solicitud y respuesta. El cliente envía o recibe texto JSON a través de HTTP y lo convierte en estructuras que el lenguaje puede utilizar.
Una API no está obligada a usar JSON, pero es una de las opciones más comunes.
Content-Type
Cuando un servidor envía JSON por HTTP, suele indicar Content-Type: application/json. Esto comunica al cliente qué tipo de contenido contiene la respuesta.
Los encabezados forman parte del protocolo HTTP y ayudan a interpretar correctamente los datos.
JSON vs. XML
JSON y XML son formatos diferentes para representar información estructurada. JSON suele ser más compacto para muchos casos web, mientras XML ofrece características propias y sigue utilizándose en determinados sistemas.
No existe una regla universal que haga que uno sea siempre mejor.
JSON en archivos de configuración
Muchas herramientas utilizan archivos JSON para guardar configuración. package.json en proyectos JavaScript es un ejemplo conocido.
Como estos archivos pueden controlar herramientas y dependencias, un error de sintaxis puede impedir que el proyecto funcione.
Cómo validar JSON
Antes de utilizar un documento externo conviene verificar que tenga sintaxis válida y después validar que su estructura sea la esperada.
Una respuesta puede ser JSON válido y aun así contener campos faltantes, tipos incorrectos o datos inesperados.
JSON y seguridad
JSON es solo un formato; no vuelve seguros los datos. Las aplicaciones deben validar información recibida y escapar contenido cuando lo muestran en contextos donde podría interpretarse como código o HTML.
Nunca confíes en datos solo porque llegaron en JSON.
Errores frecuentes
Usar comillas simples, dejar una coma al final, escribir comentarios o asumir que cualquier objeto de JavaScript puede convertirse sin problemas son errores comunes.
También es frecuente confundir JSON con un objeto ya procesado por el lenguaje.
Ejercicio práctico
Crea un objeto JSON que represente un curso con título, duración, nivel y una lista de temas. Después añade un objeto autor y un valor booleano que indique si está disponible.
Valídalo y luego intenta leerlo desde JavaScript con JSON.parse.
JSON válido vs. JSON bien diseñado
Un documento puede ser sintácticamente válido y aun así estar mal diseñado para una aplicación. Nombres ambiguos, estructuras excesivamente profundas o tipos inconsistentes dificultan el consumo.
Un buen formato mantiene nombres claros, tipos previsibles y una estructura estable que los clientes puedan interpretar.
¿Cómo se representan fechas?
JSON no tiene un tipo fecha nativo. Las fechas suelen enviarse como cadenas, por ejemplo en formatos basados en ISO 8601.
El consumidor debe interpretar esa cadena y considerar zona horaria y formato para evitar errores.
Números y precisión
JSON representa números de forma genérica, pero el lenguaje que los procesa puede tener límites de precisión. Identificadores muy grandes, cantidades financieras o valores científicos pueden requerir tratamiento especial.
Por eso algunas APIs envían ciertos identificadores como texto aunque visualmente parezcan números.
JSON Schema
JSON Schema es una especificación que permite describir la estructura esperada de un documento JSON: campos obligatorios, tipos, rangos y otras reglas.
Puede utilizarse para validar datos antes de procesarlos y documentar contratos entre sistemas.
Ejemplo de respuesta de una API
Una API podría devolver un objeto con información del usuario y una lista de artículos. El cliente procesa esa estructura y decide cómo mostrarla.
El formato debe ser estable y documentado para que distintas aplicaciones puedan utilizarlo sin adivinar qué significa cada campo.
{
"usuario": {
"id": 25,
"nombre": "Dylan"
},
"articulos": [
{"id": 1, "titulo": "¿Qué es JSON?"}
]
}Manejo de errores con JSON
Muchas APIs devuelven errores en JSON con campos como código, mensaje y detalles. Esto permite que una aplicación muestre información útil o tome decisiones según el tipo de problema.
El cliente debe considerar que una respuesta puede tener una estructura distinta cuando ocurre un error.
Serialización y deserialización
Convertir una estructura del programa a JSON se conoce como serialización. Hacer el proceso inverso para obtener objetos o valores se conoce como deserialización.
Los nombres pueden variar entre bibliotecas, pero la idea aparece constantemente en comunicación entre sistemas.
Preguntas frecuentes
¿JSON es un lenguaje de programación?
No. Es un formato de datos. No contiene instrucciones para ejecutar lógica.
¿JSON pertenece solo a JavaScript?
No. Su sintaxis se inspiró en JavaScript, pero puede utilizarse desde muchos lenguajes.
¿Puedo escribir comentarios dentro de JSON?
El estándar JSON no admite comentarios.
¿Una API siempre usa JSON?
No. Puede utilizar otros formatos, aunque JSON es muy común en APIs web.
¿JSON puede contener imágenes?
No como tipo nativo. Puede contener texto que represente una URL o datos codificados, aunque eso no siempre es la mejor opción.
Conclusión
JSON se convirtió en un formato fundamental de la Web porque representa datos estructurados de forma sencilla y portable. Comprender objetos, arrays, tipos y reglas de sintaxis facilita trabajar con JavaScript, APIs y configuraciones.
ByteNova
Proyecto educativo creado por Dylan Estrada. ByteNova publica contenido sobre programación, desarrollo web, inteligencia artificial y ciberseguridad con un enfoque claro para principiantes y revisión editorial continua.
Conoce más sobre ByteNova →