---
title: "Casos especiales"
description: ""
type: "academy"
category: "module"
tags: []
authors: [Anonymous]
date: "2026-10-08"
last_update: "2026-10-08"
time_minutes: 5
draft: false
unlisted: false
url: "https://www.billmysales.com/academy/leer-datos-de-json-con-selectores/casos-especiales"
---

# Casos especiales




---

## Cadenas de texto

Cadenas de texto

# Cadenas de texto

Es posible definir cadenas literales. De esta forma se puede usar un texto (string) para ser concatenado (unido) a otros selectores.

* **Formato:** &quot;cadena literal&quot;

Se mostrará la cadena tal cual es ingresada.

## Ejemplos

**Concatenación:**

* Dado el JSON: {&quot;nombre&quot;: &quot;Empresa&quot;, &quot;id&quot;: &quot;123&quot;}
* Selector: &quot;ID de &quot;(nombre)&quot;: &quot;(id)
* Resultado: &quot;ID de Empresa: 123&quot;


    
---

## Diccionarios

Diccionarios

# Diccionarios

Los selectores pueden acceder a elementos específicos en diccionarios.

**Ejemplo en Diccionario Anidado:** diccionario.clave.subclave accede a subclave dentro de un diccionario anidado en clave.


    
---

## Listas

Listas

# Listas

Los selectores pueden acceder a elementos específicos en listas o arreglos

**Ejemplo en Lista:** lista[2] accede al tercer elemento de una lista.

## Ejemplos

Selector de Arreglos:

* **Dado el JSON:** {&quot;array&quot;: [1, 2, 3]}
* **Selector:** array[1]
* **Resultado:** 2

Selector de Arreglo Anidado:

* **Dado el JSON:** {&quot;nested_array&quot;: {&quot;array&quot;: [1, 2, 3]}}
* **Selector:** nested_array.array[2]
* **Resultado:** 3

Selector de Arreglo de Diccionarios:

* **Dado el JSON:** {&quot;mixed&quot;: [{&quot;key&quot;: 10, &quot;value&quot;: &quot;hola&quot;}, {&quot;key&quot;: 20, &quot;value&quot;: &quot;mundo&quot;}]}
* **Selector:** mixed[key=20:value]
* **Resultado:** &quot;mundo&quot;

&gt; [!NOTE] Nota
&gt;
&gt;Este último caso es interesante porque permite obtener, de un objeto que está en una lista de objetos, el valor de un índice a partir del valor de otro índice del mismo objeto.


    
---

## Formato de salida

Formato de salida

# Formato de salida

Los selectores adecuarán el formato de la salida según el tipo de datos de los elementos que participen en la selección del selector.

## Respetar tipo de datos original

Si existe un solo selector como resultado, ya sea porque:
* Se pidió solo un selector

* O, el selector está formado por varios selectores unidos mediante OR y se obtiene el primer valor no vacío.

El tipo de dato del resultado del selector será el tipo de dato del elemento seleccionado del JSON.

## Tipo de datos como cadena de texto (string)

Si el selector está concatenando resultados de varios selectores o cadenas literales, y el resultado no es vacío, el tipo de datos del resultado será siempre una cadena de texto o string.

## Tipo de datos null

Si el elemento seleccionado mediante el selector tiene los valores en el JSON:

* null.
* &quot;&quot; (cadena de texto vacía).

El resultado del selector será null.

## Selector no encontrado en el JSON

Si se escribe un selector de manera errónea, o que en el JSON que estamos usando para extraer el dato no existe lo buscado, el resultado será **null**, un caso no existente.

Por ejemplo, si tenemos el siguiente JSON:

```json
{
    &quot;array&quot;: [1, 2, 3]
}
```

Y usamos el siguiente selector:

```json
array2[2]
````

Obtendremos **null** como resultado, porque se buscó el índice **array2** y este índice no existe en el JSON.


    

---
Última actualización el 08/10/2026

