PPLJSONfungsi - OpenSearch Layanan Amazon

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.

  • NULLdikembalikan 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 | +------------------+---------+