JSON es uno de los formatos más populares para representar datos como texto. Por ejemplo, JSON se usa para transferir datos entre el frontend y el backend, en archivos de configuración, en juegos, en editores de texto y en muchas otras áreas. Como programador, definitivamente encontrarás JSON.
Introducción a la sintaxis
Enumeremos los tipos de datos disponibles en JSON:
-
Las cadenas son cualquier carácter entre comillas dobles:
"kwerty""125 + 42""GRAMO"Los caracteres especiales se escapan con una barra inclinada:
"primera línea\nsegunda línea""¡El dijo hola!\"" -
Números, incluidos los números negativos y reales. Sin comillas:
18 -333 17.88 1.2e6 -
Los valores booleanos son verdadero / falso (sin comillas).
-
nulo es el valor estándar para representar "nada". Aquí no se utilizan comillas.
-
Matriz: este tipo puede contener valores de cualquier otro tipo. Está envuelto entre corchetes. Sus elementos están separados por comas:
["Código", "Gimnasio", "CodeGym", "¯\_(ツ)_/¯"][verdadero, verdadero, falso, verdadero, falso, falso, falso, falso, falso][[1, 2], [3, 999, 4, -5], [77]]El último ejemplo es una matriz de matrices
-
Objeto: este tipo complejo es el más utilizado. Contiene pares clave-valor, donde el valor puede ser cualquiera de los tipos enumerados anteriormente, así como otros objetos. Está envuelto entre llaves y los pares están separados por comas:
{ "name": "Dale", "age": 7 }
Representando un objeto Java como JSON
Ahora tomemos un objeto Java y veamos cómo se ve como JSON.
Primero, definamos una clase:
public class Human {
String name;
boolean male;
int age;
Set<Human> parents;
public Human(String name, boolean male, int age) {
this.name = name;
this.male = male;
this.age = age;
}
}
Ahora vamos a crear nuestro objeto:
Human father = new Human("Peter", true, 31);
Human mother = new Human("Mary", false, 28);
mother.parents = new HashSet<>();
Human son = new Human("Paul", true, 7);
son.parents = Set.of(father, mother);
Y ahora tratemos de representar el son objeto con la mayor precisión posible en formato JSON:
"nombre": "Paul",
"masculino": verdadero,
"edad": 7,
"padres": [
{
"nombre": "Pedro",
"masculino": verdadero,
"edad": 31,
"padres" : nulo
},
{
"nombre" : "María",
"masculino" : falso,
"edad" : 28,
"padres" : nulo
}
]
}
Comentarios en JSON
Todo aquí es exactamente igual que en Java. Hay dos tipos de comentarios: // y /*...*/. Espero no tener que recordarte en qué se diferencian.
GO TO FULL VERSION