parseJson
Use parseJson
to extract values from a JSON object.
If your dataset is stored in QuickSight SPICE, you can use parseJson
when you are preparing a data set, but not in calculated fields during analysis.
For direct query, you can use parseJson
both during data preparation and
analysis. The parseJson
function applies to either strings or to JSON
native data types, depending on the dialect, as shown in the following table.
Dialect | Type |
---|---|
PostgreSQL | JSON |
Amazon Redshift | String |
Microsoft SQL Server | String |
MySQL | JSON |
Teradata | JSON |
Oracle | String |
Presto | String |
Snowflake | Semistructured data type object and array |
Hive | String |
Syntax
parseJson(
fieldName
,path
)
Arguments
- fieldName
-
The field containing the JSON object that you want to parse.
- path
-
The path to the data element you want to parse from the JSON object. Valid path syntax includes:
-
$ – Root object
-
. – Child operator
-
[ ] – Subscript operator for array
-
Return type
String
Example
The following example evaluates incoming JSON to retrieve a value for item quantity. By using this during data preparation, you can create a table out of the JSON.
parseJson({jsonField}, “$.items.qty”)
The following shows the JSON.
{ "customer": "John Doe", "items": { "product": "Beer", "qty": 6 }, "list1": [ "val1", "val2" ], "list2": [ { "list21key1": "list1value1" } ] }
For this example, the following value is returned.
6
Example
The following example evaluates JSONObject1
to extract the first key value
pair (KVP), labeled "State"
, and assign the value to the calculated
field that you are creating.
parseJson(JSONObject1, “$.state”)
The following are the given field values.
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"}
For these field values, the following rows are returned.
New York North Carolina Utah