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
Con parseJson
puede extraer valores de un objeto JSON.
Si el conjunto de datos está almacenado en SPICE de QuickSight, puede utilizar parseJson
al preparar 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.
Dialecto | 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
parseJson(
fieldName
,path
)
Argumentos
- 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. La sintaxis de ruta válida incluye:
-
$: objeto raíz
-
.: operador secundario
-
[ ]: operador de subíndice para matriz
-
Tipo de retorno
Cadena
Ejemplo
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
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