unescapeJson
Converts a stringified JSON element to a Record, Array or simple field (e.g. String), using the UTF-8 character set. For example, given a schema such as:
{ "type": "record", "name": "events", "fields": [{ "name": "person", "type": "record", "fields": [ { "name": "name", "type": "string" }, { "name": "age", "type": "int" } ] }] }
and a record such as:
{ "json_str": "{\"person\":{\"name\":\"John\",\"age\":30}}" }
The following record path expression would populate the record with unescaped JSON fields:
RecordPath |
Return value |
|
{"person": {"name": "John", "age": 30}}" |
Given a record such as:
{ "json_str": "\"John\"" }
The following record path expression would return:
RecordPath |
Return value |
|
"John" |
Note that the target schema must be pre-defined if the unescaped JSON is to be set in a Record's fields - Infer Schema will not currently do this automatically.