Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
PPLJSONfungsi
catatan
Untuk melihat integrasi sumber AWS data mana yang mendukung PPL fungsi ini, lihatFungsi.
JSON
Penggunaan: json(value)
mengevaluasi apakah string dapat diurai sebagai JSON format. Fungsi mengembalikan string asli jika validJSON, atau null jika tidak valid.
Jenis argumen: STRING
Jenis pengembalian:STRING/NULL. STRINGEkspresi format JSON objek yang valid.
Contoh:
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
Penggunaan: json_object(<key>, <value>[, <key>,
<value>]...)
mengembalikan JSON objek dari anggota pasangan kunci-nilai.
Jenis argumen:
A <key>harusSTRING.
A <value>dapat berupa tipe data apa saja.
Jenis pengembalian: JSON _OBJECT. StructType Ekspresi JSON objek yang valid.
Contoh:
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
Penggunaan: json_array(<value>...)
membuat JSON ARRAY menggunakan daftar nilai.
Jenis argumen: A <value>
dapat berupa segala jenis nilai seperti string, angka, atau boolean.
Jenis pengembalian:ARRAY. Array dari setiap tipe data yang didukung untuk JSON array yang valid.
Contoh:
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
Penggunaan: to_json_string(jsonObject)
mengembalikan JSON string dengan nilai objek json yang diberikan.
Jenis argumen: JSON _ OBJECT
Jenis pengembalian: STRING
Contoh:
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
Penggunaan: array_length(jsonArray)
mengembalikan jumlah elemen dalam array terluar.
Jenis argumen:ARRAY. ARRAYObjek ARRAY atau JSON _.
Jenis pengembalian: INTEGER
Contoh:
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
Penggunaan: json_extract(jsonStr,
path)
mengekstrak JSON objek dari JSON string berdasarkan JSON jalur yang ditentukan. Fungsi mengembalikan null jika JSON string input tidak valid.
Jenis argumen:STRING, STRING
Jenis pengembalian: STRING
-
STRINGEkspresi format JSON objek yang valid.
-
NULL
dikembalikan jika tidak validJSON.
Contoh:
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
Penggunaan: json_keys(jsonStr)
mengembalikan semua kunci dari JSON objek terluar sebagai array.
Jenis argumen:STRING. STRINGEkspresi format JSON objek yang valid.
Jenis pengembalian: ARRAY [STRING]. Fungsi mengembalikan NULL
untuk JSON string valid lainnya, string kosong, atau tidak validJSON.
Contoh:
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
Penggunaan: json_valid(jsonStr)
mengevaluasi apakah JSON string menggunakan JSON sintaks dan pengembalian TRUE yang valid atau. FALSE
Jenis argumen: STRING
Jenis pengembalian: BOOLEAN
Contoh:
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 | +------------------+---------+