As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
PPLJSONfunções
nota
Para ver quais integrações AWS de fontes de dados oferecem suporte a essa PPL função, consulteFunções.
JSON
Uso: json(value)
avalia se uma string pode ser analisada como JSON formato. A função retorna a string original se for válida JSON ou nula se for inválida.
Tipo de argumento: STRING
Tipo de devolução:STRING/NULL. Uma STRING expressão de um formato de JSON objeto válido.
Exemplos:
os> source=people | eval `valid_json()` = json('[1,2,3,{"f1":1,"f2":[5,6]},4]') | fields valid_json fetched rows / total rows = 1/1 +---------------------------------+ | valid_json | +---------------------------------+ | [1,2,3,{"f1":1,"f2":[5,6]},4] | +---------------------------------+ os> source=people | eval `invalid_json()` = json('{"invalid": "json"') | fields invalid_json fetched rows / total rows = 1/1 +----------------+ | invalid_json | +----------------+ | null | +----------------+
JSON_OBJECT
Uso: json_object(<key>, <value>[, <key>,
<value>]...)
retorna um JSON objeto de membros de pares de valores-chave.
Tipo de argumento:
Um <key>imperdívelSTRING.
A <value>pode ser qualquer tipo de dados.
Tipo de devolução: JSON _OBJECT. Uma StructType expressão de um JSON objeto válido.
Exemplos:
os> source=people | eval result = json_object('key', 123.45) | fields result fetched rows / total rows = 1/1 +------------------+ | result | +------------------+ | {"key":123.45} | +------------------+ os> source=people | eval result = json_object('outer', json_object('inner', 123.45)) | fields result fetched rows / total rows = 1/1 +------------------------------+ | result | +------------------------------+ | {"outer":{"inner":123.45}} | +------------------------------+
JSON_ARRAY
Uso: json_array(<value>...)
cria um JSON ARRAY usando uma lista de valores.
Tipo de argumento: A <value>
pode ser qualquer tipo de valor, como string, número ou booleano.
Tipo de devolução:ARRAY. Uma matriz de qualquer tipo de dados compatível para uma JSON matriz válida.
Exemplos:
os> source=people | eval `json_array` = json_array(1, 2, 0, -1, 1.1, -0.11) fetched rows / total rows = 1/1 +------------------------------+ | json_array | +------------------------------+ | [1.0,2.0,0.0,-1.0,1.1,-0.11] | +------------------------------+ os> source=people | eval `json_array_object` = json_object("array", json_array(1, 2, 0, -1, 1.1, -0.11)) fetched rows / total rows = 1/1 +----------------------------------------+ | json_array_object | +----------------------------------------+ | {"array":[1.0,2.0,0.0,-1.0,1.1,-0.11]} | +----------------------------------------+
TO_JSON_STRING
Uso: to_json_string(jsonObject)
retorna uma JSON string com um determinado valor de objeto json.
Tipo de argumento: JSON _ OBJECT
Tipo de devolução: STRING
Exemplos:
os> source=people | eval `json_string` = to_json_string(json_array(1, 2, 0, -1, 1.1, -0.11)) | fields json_string fetched rows / total rows = 1/1 +--------------------------------+ | json_string | +--------------------------------+ | [1.0,2.0,0.0,-1.0,1.1,-0.11] | +--------------------------------+ os> source=people | eval `json_string` = to_json_string(json_object('key', 123.45)) | fields json_string fetched rows / total rows = 1/1 +-----------------+ | json_string | +-----------------+ | {'key', 123.45} | +-----------------+
ARRAY_LENGTH
Uso: array_length(jsonArray)
retorna o número de elementos na matriz mais externa.
Tipo de argumento:ARRAY. Um ARRAY objeto ARRAY ou JSON _.
Tipo de devolução: INTEGER
Exemplo:
os> source=people | eval `json_array` = json_array_length(json_array(1,2,3,4)), `empty_array` = json_array_length(json_array()) fetched rows / total rows = 1/1 +--------------+---------------+ | json_array | empty_array | +--------------+---------------+ | 4 | 0 | +--------------+---------------+
JSON_EXTRACT
Uso: json_extract(jsonStr,
path)
extrai um JSON objeto de uma JSON string com base no JSON caminho especificado. A função retornará null se a JSON string de entrada for inválida.
Tipo de argumento:STRING, STRING
Tipo de devolução: STRING
-
Uma STRING expressão de um formato de JSON objeto válido.
-
NULL
é retornado em caso de JSON inválido.
Exemplos:
os> source=people | eval `json_extract('{"a":"b"}', '$.a')` = json_extract('{"a":"b"}', '$a') fetched rows / total rows = 1/1 +----------------------------------+ | json_extract('{"a":"b"}', 'a') | +----------------------------------+ | b | +----------------------------------+ os> source=people | eval `json_extract('{"a":[{"b":1},{"b":2}]}', '$.a[1].b')` = json_extract('{"a":[{"b":1},{"b":2}]}', '$.a[1].b') fetched rows / total rows = 1/1 +-----------------------------------------------------------+ | json_extract('{"a":[{"b":1.0},{"b":2.0}]}', '$.a[1].b') | +-----------------------------------------------------------+ | 2.0 | +-----------------------------------------------------------+ os> source=people | eval `json_extract('{"a":[{"b":1},{"b":2}]}', '$.a[*].b')` = json_extract('{"a":[{"b":1},{"b":2}]}', '$.a[*].b') fetched rows / total rows = 1/1 +-----------------------------------------------------------+ | json_extract('{"a":[{"b":1.0},{"b":2.0}]}', '$.a[*].b') | +-----------------------------------------------------------+ | [1.0,2.0] | +-----------------------------------------------------------+ os> source=people | eval `invalid_json` = json_extract('{"invalid": "json"') fetched rows / total rows = 1/1 +----------------+ | invalid_json | +----------------+ | null | +----------------+
JSON_KEYS
Uso: json_keys(jsonStr)
retorna todas as chaves do JSON objeto mais externo como uma matriz.
Tipo de argumento:STRING. Uma STRING expressão de um formato de JSON objeto válido.
Tipo de devolução: ARRAY [STRING]. A função retorna NULL
para qualquer outra JSON string válida, uma string vazia ou JSON inválida.
Exemplos:
os> source=people | eval `keys` = json_keys('{"f1":"abc","f2":{"f3":"a","f4":"b"}}') fetched rows / total rows = 1/1 +------------+ | keus | +------------+ | [f1, f2] | +------------+ os> source=people | eval `keys` = json_keys('[1,2,3,{"f1":1,"f2":[5,6]},4]') fetched rows / total rows = 1/1 +--------+ | keys | +--------+ | null | +--------+
JSON_VALID
Uso: json_valid(jsonStr)
avalia se uma JSON string usa uma JSON sintaxe válida e retorna TRUE ou. FALSE
Tipo de argumento: STRING
Tipo de devolução: BOOLEAN
Exemplos:
os> source=people | eval `valid_json` = json_valid('[1,2,3,4]'), `invalid_json` = json_valid('{"invalid": "json"') | feilds `valid_json`, `invalid_json` fetched rows / total rows = 1/1 +--------------+----------------+ | valid_json | invalid_json | +--------------+----------------+ | True | False | +--------------+----------------+ os> source=accounts | where json_valid('[1,2,3,4]') and isnull(email) | fields account_number, email fetched rows / total rows = 1/1 +------------------+---------+ | account_number | email | |------------------+---------| | 13 | null | +------------------+---------+