En esta página
Para encontrar un valor dentro de un JSON anidado, puedes abrir sus objetos y arrays hasta llegar a él. Vamos a buscar el código del segundo artículo de un pedido y copiar su ruta. En el ejemplo también hay una clave llamada pedido.items: veremos por qué es distinta de items dentro de pedido.
Encontrar el segundo artículo de un pedido
Copia este documento completo en el visor de árbol JSON:
{
"pedido": {
"items": [
{"sku": "L-10", "precio": 12},
{"sku": "L-11", "precio": 18}
],
"envio": null
},
"pedido.items": {"sku": "LITERAL"},
"items[0]": "ETIQUETA",
"extras": []
}
El objeto exterior es la raíz del documento. Dentro de pedido, el array items guarda los dos artículos. Como los índices empiezan en 0, el segundo artículo está en el índice 1. Su código sku es "L-11".
Los objetos agrupan propiedades por nombre y los arrays mantienen una secuencia ordenada de valores, como explica RFC 8259. Si necesitas repasar los tipos, consulta la guía base de JSON.
Seguir el recorrido en el visor
- Pega el documento en Entrada JSON y selecciona Explorar JSON. Pegar por sí solo no inicia el análisis.
- El árbol muestra primero la raíz, cuya ruta es
$. Pulsa el signo + de esa fila para expandirla y repite en la propiedadpedido. - Expande
items. Aparecen los elementos de índice0y1. Expande el de índice1. - Selecciona la fila
sku. Comprueba que el tipo sea cadena y que la vista previa muestre"L-11". - La ruta seleccionada es
$.pedido.items[1].sku. Selecciona Copiar ruta seleccionada para compartir esa ubicación.
Para cerrar una rama, pulsa el signo −. Si prefieres el teclado, usa la flecha derecha para expandirla y la izquierda para contraerla.
En esta muestra, Valores JSON indica 14: incluye la raíz, los contenedores y los valores que contienen. Filas visibles empieza en 1 y cambia al expandir, contraer o cambiar de página. No representa la cantidad total de valores del documento.
Distinguir rutas y claves literales
Estos recorridos llevan a lugares diferentes dentro del mismo ejemplo:
| Recorrido | Ruta que muestra el visor | Resultado |
|---|---|---|
pedido → items → índice 1 → sku |
$.pedido.items[1].sku |
"L-11" |
Clave raíz pedido.items → sku |
$["pedido.items"].sku |
"LITERAL" |
Clave raíz items[0] |
$["items[0]"] |
"ETIQUETA" |
pedido → envio |
$.pedido.envio |
null: la propiedad existe. |
pedido → descuento |
No hay fila ni ruta seleccionable. | La propiedad está ausente. |
extras |
$.extras |
[]: un array sin elementos. |
Hay varios campos sku, así que al compartir uno conviene copiar su ruta completa. Fíjate también en las tres últimas filas: envio existe y vale null, descuento no existe y extras es un array vacío. Por eso no encontrarás un elemento extras[0].
Interpretar y compartir la ruta copiada
El visor usa $ para la raíz, puntos para nombres simples y corchetes para índices de arrays. Los nombres especiales se escriben entre corchetes con una cadena entre comillas dobles. Las comillas y las barras invertidas del nombre se escapan como en una cadena JSON:
| Nombre literal de una propiedad en la raíz | Ruta mostrada |
|---|---|
a.b |
$["a.b"] |
a"b |
$["a\"b"] |
a\b |
$["a\\b"] |
a/b |
$["a/b"] |
La barra / se conserva; no separa niveles en esta notación. Copia la ruta completa en lugar de reconstruirla quitando comillas o escapes. Si la raíz fuera el array [{"sku":"L-10"},{"sku":"L-11"}], el segundo código tendría la ruta $[1].sku. Si el documento completo fuera null, su ruta sería $.
La ruta copiada sirve como referencia para otra persona que esté revisando el mismo JSON. El visor usa su propia notación, distinta de JSON Pointer. Si necesitas usar la ruta en otra herramienta, comprueba antes qué sintaxis admite.
Si ya has convertido el JSON del ejemplo en un objeto JavaScript llamado datos, puedes acceder a los dos campos sku así:
datos["pedido"]["items"][1]["sku"] // "L-11"
datos["pedido.items"]["sku"] // "LITERAL"
Qué revisar si el valor no aparece
| Lo que observas | Qué comprobar o hacer |
|---|---|
Llegas a "L-10" |
Elegiste índice 0. El segundo artículo está en índice 1. |
| Solo ves un objeto o array | Si tiene elementos, pulsa +. Una rama contraída oculta filas. |
No aparece descuento dentro de pedido |
Revisa el objeto correcto y todas sus páginas. En esta muestra, esa propiedad no existe. |
Ves null o un contenedor que indica que no tiene elementos secundarios |
Son valores presentes; el nulo y los contenedores vacíos no tienen hijos que expandir. |
| No ves todos los elementos de una lista | Cada página admite hasta 50 filas. Usa Página siguiente o Página anterior. |
| Aparece un aviso de límite | Lee el diagnóstico. Para el límite de 500 filas visibles, contrae otra rama; para límites de entrada o análisis, reduce el documento. |
| El documento no se puede analizar | Comprueba su sintaxis con el formateador y validador JSON. |
El visor exige JSON estricto y rechaza comentarios, comas finales y claves duplicadas dentro de un mismo objeto. Repetir sku en objetos diferentes, como en el ejemplo, sí está permitido.
Con documentos grandes, ten en cuenta los límites del visor: 1.000.000 de unidades de código UTF-16, 200 niveles de anidamiento y 100.000 valores JSON. El análisis también puede detenerse si supera el tiempo o el trabajo de procesamiento permitidos. Si ocurre, prueba con una parte más pequeña del documento para buscar el campo que necesitas.
Las vistas previas muestran hasta 120 unidades de código UTF-16. Si un texto aparece cortado, consulta el valor completo en el JSON original.
Cuándo necesitas una consulta JSONPath
En este ejemplo buscábamos un solo sku. Para obtener los códigos de todos los artículos a la vez, utiliza una herramienta que ejecute consultas JSONPath. El visor de árbol no ejecuta esas consultas ni ofrece búsqueda o edición del documento.