

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# parseJson
<a name="parseJson-function"></a>

Con `parseJson` puede extraer valores de un objeto JSON. 

Si el conjunto de datos está almacenado en QuickSPICE, puede usarlo `parseJson` cuando prepare un conjunto de datos, pero no en los campos calculados durante el análisis.

En caso de una consulta directa, puede utilizar `parseJson` tanto durante la preparación de los datos como en el análisis. La función `parseJson` se aplica a cadenas o a los tipos de datos nativos JSON, dependiendo del dialecto, como se muestra en la siguiente tabla.


| Dialect | Tipo | 
| --- | --- | 
| PostgreSQL | JSON | 
| Amazon Redshift | Cadena | 
| Microsoft SQL Server | Cadena | 
| MySQL | JSON | 
| Teradata | JSON | 
| Oracle | Cadena | 
| Presto | Cadena | 
| Snowflake | Objeto de tipo de datos semiestructurado y matriz | 
| Hive | Cadena | 

## Sintaxis
<a name="parseJson-function-syntax"></a>

```
parseJson(fieldName, path)
```

## Argumentos
<a name="parseJson-function-arguments"></a>

 *fieldName*   
El campo que contiene el objeto JSON que desea analizar.

 *path*   
La ruta del elemento de datos que desea analizar a partir del objeto JSON. Solo se permiten letras, números y espacios en blanco en el argumento de ruta. La sintaxis de ruta válida incluye:  
+ *\$1*: objeto raíz
+ *.*: operador secundario
+ *[ ]*: operador de subíndice para matriz

## Tipo de devolución
<a name="parseJson-function-return-type"></a>

Cadena

## Ejemplo
<a name="parseJson-function-example-query"></a>

En el siguiente ejemplo se evalúa el JSON entrante para obtener el valor de la cantidad de elementos. Si se usa durante la preparación de los datos, es posible crear una tabla a partir del código JSON.

```
parseJson({jsonField}, “$.items.qty”)
```

El código JSON es el siguiente:

```
{
    "customer": "John Doe",
    "items": {
        "product": "Beer",
        "qty": 6
    },
    "list1": [
        "val1",
        "val2"
    ],
    "list2": [
        {
            "list21key1": "list1value1"
        }
    ]
}
```

Con este ejemplo se obtiene el valor siguiente:

```
6
```

## Ejemplo
<a name="parseJson-function-example"></a>

En el siguiente ejemplo se evalúa `JSONObject1` para extraer el primer par clave-valor (KVP) con la etiqueta `"State"` y asignar el valor al campo calculado que está creando.

```
parseJson(JSONObject1, “$.state”)
```

Los siguientes son los valores de los campos.

```
JSONObject1
-----------
{"State":"New York","Product":"Produce","Date Sold":"1/16/2018","Sales Amount":"$3423.39"}
{"State":"North Carolina","Product":"Bakery Products","Date Sold":"2/1/2018","Sales Amount":"$3226.42"}
{"State":"Utah","Product":"Water","Date Sold":"4/24/2018","Sales Amount":"$7001.52"}
```

Para estos valores de campo, se devuelven las siguientes filas.

```
New York
North Carolina
Utah
```