---
title: "Selectores básicos"
description: ""
type: "academy"
category: "module"
tags: []
authors: [Anonymous]
date: "2026-10-08"
last_update: "2026-10-08"
time_minutes: 4
draft: false
unlisted: false
url: "https://www.billmysales.com/academy/leer-datos-de-json-con-selectores/selectores-basicos"
---

# Selectores básicos




---

## Selector simple

Selector Simple

# Selector Simple

Un selector simple accede a un valor directamente por su clave.

* **Formato:** clave
* **Ejemplo:** Para obtener el valor de la clave nombre en { &quot;nombre&quot;: &quot;Juan&quot; }, se usa el selector &quot;nombre&quot;.

## Ejemplos
Acceso Directo a una Clave:

* Dado el JSON: {&quot;nombre&quot;: &quot;Ana&quot;}
* Selector: nombre
* Resultado: &quot;Ana&quot;

Acceso Directo a una Clave:

* Dado el JSON: {&quot;cliente_rut&quot;: &quot;1-9&quot;}
* Selector: cliente_rut
* Resultado: &quot;1-9&quot;

Este último selector permite extraer los datos del RUT (VAT number en Chile) y asignarlo en un campo en la configuración de BillMySales. En este caso sería en el campo &quot;Identificador fiscal (VAT number)&quot;. En la configuración de una pasarela de facturación, sección origen de datos, se vería así:

![Campos del cliente](https://www.billmysales.com/img/content/academy/leer-datos-de-json/campos-del-cliente.png)


    
---

## Selector anidado

Selector Anidado
Los selectores anidados acceden a valores dentro de estructuras JSON anidadas.

# Selector Anidado
Los selectores anidados acceden a valores dentro de estructuras JSON anidadas.

* **Formato:** clave1.clave2...claveN
* **Ejemplo:** Para acceder al valor en { &quot;grupo&quot;: { &quot;subgrupo&quot;: { &quot;clave&quot;: &quot;valor&quot; }}}, se usa el selector &quot;grupo.subgrupo.clave&quot;.


## Ejemplos

Acceso a una Clave Anidada:

* **Dado el JSON:** {&quot;usuario&quot;: {&quot;nombre&quot;: &quot;Carlos&quot;, &quot;edad&quot;: 30}}
* **Selector:** usuario.nombre
* **Resultado:** &quot;Carlos&quot;

Selector Anidado:

* **Dado el JSON:** {&quot;cliente&quot;: {&quot;rut&quot;: &quot;1-9&quot;}}
* **Selector:** cliente.rut
* **Resultado:** &quot;1-9&quot;


    
---

## Selector con OR

Selectores con OR

# Selectores con OR

Permiten especificar múltiples opciones, retornando el valor de la primera opción no vacía.

* **Formato:** selector1||selector2
* **Ejemplo:** &quot;claveInexistente||claveExistente&quot; devuelve el valor de claveExistente si claveInexistente no existe o su valor es vacío.

## Ejemplos

Selector con Alternativa:

* **Dado el JSON:** {&quot;nombre&quot;: &quot;Laura&quot;, &quot;apodo&quot;: &quot;Lau&quot;}
* **Selector:** nombreInexistente||apodo
* **Resultado:** &quot;Lau&quot;

Cadena Literal como Alternativa:

* **Dado el JSON:** {&quot;nombre&quot;: &quot;Pedro&quot;}
* **Selector:** apodo||&quot;Desconocido&quot;
* **Resultado:** &quot;Desconocido&quot;

Selector con Valor por Defecto:

* **Selector:** (selector_inexistente)||&quot;Valor por defecto&quot;
* **Resultado:** &quot;Valor por defecto&quot;

&gt; [!NOTE] Nota
&gt;
&gt;Aunque los operadores como OR ofrecen gran flexibilidad, su uso excesivo puede hacer que los selectores sean difíciles de entender y mantener.


    
---

## Selectores con IF ternario

Selectores con IF ternario

# Selectores con IF ternario

Permiten seleccionar un valor basado en una condición.

* **Formato:** ((selector_condición) operador &quot;valor_condición&quot; ? (selector_si_verdadero) : (selector_si_falso))
* **Ejemplo:** ((edad) &gt;= &quot;18&quot; ? &quot;adulto&quot; : &quot;menor&quot;) devuelve &quot;adulto&quot; si la edad es mayor o igual a 18, de lo contrario devuelve &quot;menor&quot;.

## Operadores disponibles en IF ternario

Los selectores con IF ternarios soportan varios operadores:

* Igualdad: =, ==
* Desigualdad: !=, &lt;&gt;
* Mayor que: &gt;
* Menor que: &lt;
* Mayor o igual que: &gt;=
* Menor o igual que: &lt;=
* Contiene (para listas y cadenas): contains
* Longitud (para listas y cadenas): length

## Ejemplos

**Condición Simple:**

* Dado el JSON: {&quot;edad&quot;: 20}
* Selector: ((edad) &lt; &quot;18&quot; ? &quot;Menor&quot; : &quot;Adulto&quot;)
* Resultado: &quot;Adulto&quot;

**Condición con Contiene en Lista:**

* Dado el JSON: {&quot;frutas&quot;: [&quot;manzana&quot;, &quot;banana&quot;, &quot;naranja&quot;]}
* Selector: ((frutas) contains &quot;banana&quot; ? &quot;Encontrada&quot; : &quot;No Encontrada&quot;)
* Resultado: &quot;Encontrada&quot;

**Selector con Condiciones IF:**

* Dado el JSON: {&quot;valor&quot;: 100}
* Selector: ((valor) &gt; &quot;50&quot; ? &quot;Alto&quot; : &quot;Bajo&quot;)
* Resultado: &quot;Alto&quot;

&gt; [!NOTE] Nota
&gt;
&gt;Aunque las condiciones IF ofrecen gran flexibilidad, su uso excesivo puede hacer que los selectores sean difíciles de entender y mantener.


    

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

