Formatea y embellece tus datos JSON con la indentación adecuada. Hace que el JSON en bruto sea legible con resaltado de sintaxis y validación.
Formatea y embellece tu JSON con esta herramienta simple
El JSON formateado aparecerá aquí...
JSON (Notación de Objetos de JavaScript) es un formato ligero de intercambio de datos que se ha convertido en el estándar para el intercambio de datos en aplicaciones web. A pesar de su simplicidad, los datos JSON pueden volverse difíciles de leer cuando están minimizados o carecen de un formato adecuado. Esta herramienta te ayuda a transformar cadenas JSON sin formato en un formato bien estructurado e indentado que es mucho más fácil de leer y analizar.
El formateo JSON (también conocido como "impresión bonita") agrega una indentación, saltos de línea y espacios consistentes para hacer que la estructura jerárquica de los datos JSON sea visualmente evidente. Esto es particularmente valioso cuando se trabaja con objetos anidados complejos o conjuntos de datos grandes donde las relaciones entre los elementos de otro modo podrían ser difíciles de discernir.
Nuestra herramienta formateadora JSON proporciona una interfaz simple para embellecer tus datos JSON con la indentación y estructura adecuadas, haciéndolos más legibles para los humanos mientras mantiene su validez para las máquinas.
JSON se basa en dos estructuras principales:
{}
. Cada nombre es seguido por dos puntos :
y los pares están separados por comas ,
.1 {"nombre": "Juan", "edad": 30, "ciudad": "Nueva York"}
2
[]
. Los valores están separados por comas ,
.1 ["manzana", "plátano", "cereza"]
2
Los valores JSON pueden ser:
"Hola Mundo"
42
o 3.14159
true
o false
null
{"clave": "valor"}
[1, 2, 3]
JSON válido debe seguir estas reglas de sintaxis:
Los errores de sintaxis comunes incluyen:
El formateo JSON transforma JSON compacto y minimizado en una forma más legible mediante:
Análisis: La cadena JSON se analiza primero para asegurar que sea válida y para crear una representación en memoria de la estructura de datos.
Indentación: Cada nivel anidado de objetos y arreglos se indenta (típicamente por 2 o 4 espacios) para representar visualmente la jerarquía.
Saltos de Línea: Se añaden nuevas líneas después de cada propiedad o elemento de arreglo para mejorar la legibilidad.
Espaciado: Se añade un espaciado consistente alrededor de los dos puntos y las comas.
Por ejemplo, este JSON minimizado:
1{"nombre":"Juan Doe","edad":30,"dirección":{"calle":"123 Calle Principal","ciudad":"Cualquier Ciudad","estado":"CA"},"aficiones":["lectura","senderismo","fotografía"]}
2
Se convierte en este JSON formateado:
1{
2 "nombre": "Juan Doe",
3 "edad": 30,
4 "dirección": {
5 "calle": "123 Calle Principal",
6 "ciudad": "Cualquier Ciudad",
7 "estado": "CA"
8 },
9 "aficiones": [
10 "lectura",
11 "senderismo",
12 "fotografía"
13 ]
14}
15
Nuestro formateador utiliza una indentación estándar de 2 espacios por nivel, que es una convención común en la comunidad de desarrollo y proporciona un buen equilibrio entre compacidad y legibilidad.
Un aspecto crítico del formateo JSON es la validación. Antes de que JSON pueda ser formateado, debe ser sintácticamente válido de acuerdo con la especificación JSON. Los errores de validación comunes incluyen:
Errores de Sintaxis:
Errores de Tipo de Datos:
indefinido
o NaN
Cuando encuentres JSON inválido, el mensaje de error puede ayudar a identificar el problema. La mayoría de los analizadores JSON indicarán la posición donde falló el análisis, lo que puede ayudar a localizar el problema. Nuestra herramienta proporciona mensajes de error claros para ayudarte a identificar y corregir problemas en tus datos JSON.
El formateo JSON es valioso en numerosos escenarios:
Cuando se trabaja con APIs RESTful, el JSON formateado facilita:
Muchas aplicaciones modernas utilizan JSON para configuraciones:
El JSON formateado ayuda cuando:
La correcta formateación JSON es esencial cuando:
La clara formateación JSON es valiosa para:
Si bien nuestro formateador JSON basado en la web es conveniente para tareas rápidas de formateo, existen varias alternativas para diferentes escenarios:
Los navegadores modernos incluyen capacidades de formateo JSON:
La mayoría de los entornos de desarrollo ofrecen formateo JSON:
Para usuarios de terminal o automatización:
jq
es un procesador JSON de línea de comando ligero y flexiblejson_pp
viene preinstalado en muchos sistemas Unixpython -m json.tool
proporciona un formateo rápido usando PythonAl formatear JSON dentro de aplicaciones:
1// Formateo JSON en JavaScript
2const formatted = JSON.stringify(jsonObject, null, 2);
3
1# Formateo JSON en Python
2import json
3formatted = json.dumps(json_object, indent=2)
4
1// Formateo JSON en Java con Gson
2Gson gson = new GsonBuilder().setPrettyPrinting().create();
3String formatted = gson.toJson(jsonObject);
4
1# Formateo JSON en Ruby
2require 'json'
3formatted = JSON.pretty_generate(json_object)
4
1// Formateo JSON en PHP
2$formatted = json_encode($jsonObject, JSON_PRETTY_PRINT);
3
JSON fue creado por Douglas Crockford a principios de la década de 2000 como una alternativa ligera a XML. El formato se derivó de la sintaxis de literales de objetos de JavaScript, pero diseñado para ser independiente del lenguaje. En 2006, JSON fue especificado formalmente en el RFC 4627, y rápidamente ganó popularidad debido a su simplicidad y compatibilidad con JavaScript.
Antes de JSON, XML era el formato dominante para el intercambio de datos, pero su verbosidad y complejidad lo hacían engorroso para muchas aplicaciones. JSON ofrecía una sintaxis más concisa que era más fácil de leer y escribir, tanto para humanos como para máquinas. También se alineaba perfectamente con el modelo de objetos de JavaScript, lo que lo convertía en la opción natural para aplicaciones web.
La adopción de JSON se aceleró con el auge de AJAX y APIs RESTful a mediados de la década de 2000. Para la década de 2010, se había convertido en el estándar de facto para APIs web, archivos de configuración y almacenamiento de datos en bases de datos NoSQL como MongoDB y CouchDB.
Hoy en día, JSON es compatible con prácticamente todos los lenguajes de programación y se utiliza en innumerables aplicaciones a través de la web. Su simplicidad, flexibilidad y soporte universal lo han convertido en uno de los formatos de datos más importantes en la computación moderna.
Aquí hay ejemplos de cómo formatear JSON en varios lenguajes de programación:
1// Formateo JSON en JavaScript
2function formatJSON(jsonString) {
3 try {
4 const parsedData = JSON.parse(jsonString);
5 return JSON.stringify(parsedData, null, 2);
6 } catch (error) {
7 return `Error: ${error.message}`;
8 }
9}
10
11// Ejemplo de uso
12const rawJSON = '{"nombre":"Juan","edad":30,"ciudad":"Nueva York"}';
13console.log(formatJSON(rawJSON));
14
1# Formateo JSON en Python
2import json
3
4def format_json(json_string):
5 try:
6 parsed_data = json.loads(json_string)
7 return json.dumps(parsed_data, indent=2)
8 except json.JSONDecodeError as e:
9 return f"Error: {str(e)}"
10
11# Ejemplo de uso
12raw_json = '{"nombre":"Juan","edad":30,"ciudad":"Nueva York"}'
13print(format_json(raw_json))
14
1// Formateo JSON en Java con Gson
2import com.google.gson.Gson;
3import com.google.gson.GsonBuilder;
4import com.google.gson.JsonSyntaxException;
5
6public class JSONFormatter {
7 public static String formatJSON(String jsonString) {
8 try {
9 Gson gson = new GsonBuilder().setPrettyPrinting().create();
10 Object parsedJson = gson.fromJson(jsonString, Object.class);
11 return gson.toJson(parsedJson);
12 } catch (JsonSyntaxException e) {
13 return "Error: " + e.getMessage();
14 }
15 }
16
17 public static void main(String[] args) {
18 String rawJSON = "{\"nombre\":\"Juan\",\"edad\":30,\"ciudad\":\"Nueva York\"}";
19 System.out.println(formatJSON(rawJSON));
20 }
21}
22
1// Formateo JSON en PHP
2function formatJSON($jsonString) {
3 $result = json_decode($jsonString);
4 if (json_last_error() !== JSON_ERROR_NONE) {
5 return "Error: " . json_last_error_msg();
6 }
7 return json_encode($result, JSON_PRETTY_PRINT);
8}
9
10// Ejemplo de uso
11$rawJSON = '{"nombre":"Juan","edad":30,"ciudad":"Nueva York"}';
12echo formatJSON($rawJSON);
13
1# Formateo JSON en Ruby
2require 'json'
3
4def format_json(json_string)
5 begin
6 parsed_data = JSON.parse(json_string)
7 return JSON.pretty_generate(parsed_data)
8 rescue JSON::ParserError => e
9 return "Error: #{e.message}"
10 end
11end
12
13# Ejemplo de uso
14raw_json = '{"nombre":"Juan","edad":30,"ciudad":"Nueva York"}'
15puts format_json(raw_json)
16
1// Formateo JSON en C# con Newtonsoft.Json
2using Newtonsoft.Json;
3using System;
4
5class JSONFormatter
6{
7 public static string FormatJSON(string jsonString)
8 {
9 try
10 {
11 object parsedJson = JsonConvert.DeserializeObject(jsonString);
12 return JsonConvert.SerializeObject(parsedJson, Formatting.Indented);
13 }
14 catch (JsonException e)
15 {
16 return $"Error: {e.Message}";
17 }
18 }
19
20 static void Main()
21 {
22 string rawJSON = "{\"nombre\":\"Juan\",\"edad\":30,\"ciudad\":\"Nueva York\"}";
23 Console.WriteLine(FormatJSON(rawJSON));
24 }
25}
26
1// Formateo JSON en Go
2package main
3
4import (
5 "encoding/json"
6 "fmt"
7)
8
9func formatJSON(jsonString string) string {
10 var parsedData interface{}
11 err := json.Unmarshal([]byte(jsonString), &parsedData)
12 if err != nil {
13 return fmt.Sprintf("Error: %s", err.Error())
14 }
15
16 formattedBytes, err := json.MarshalIndent(parsedData, "", " ")
17 if err != nil {
18 return fmt.Sprintf("Error: %s", err.Error())
19 }
20
21 return string(formattedBytes)
22}
23
24func main() {
25 rawJSON := `{"nombre":"Juan","edad":30,"ciudad":"Nueva York"}`
26 fmt.Println(formatJSON(rawJSON))
27}
28
Al trabajar con el formateo JSON, ten en cuenta estos posibles desafíos:
Los archivos JSON muy grandes (varios megabytes o más) pueden causar problemas de rendimiento en formateadores basados en navegadores. Para tales casos:
jq
JSON extremadamente anidado (más de 10-20 niveles de profundidad) puede volverse difícil de navegar incluso cuando está formateado. En estos casos:
JSON admite Unicode, pero algunos formateadores pueden tener problemas con ciertos caracteres:
JSON no especifica precisión para números, lo que puede llevar a problemas con enteros muy grandes o valores de punto flotante:
JSON válido incluye objetos vacíos {}
y arreglos []
, que deben ser formateados adecuadamente:
{}
[]
Descubre más herramientas que podrían ser útiles para tu flujo de trabajo