tencent cloud

Cloud Log Service

JSON関数

ダウンロード
フォーカスモード
フォントサイズ
最終更新日: 2026-10-12 14:32:16
AI翻訳
本文では、JSON関数の基本構文と例を紹介します。
関数名
ステートメント
意味
json_array_contains(x,value)
JSON 配列に特定の値が含まれているかどうかを判断します。
json_array_get(x,index)
JSON 配列内の特定のインデックスに対応する要素を取得します。
json_array_length(x)
JSON 配列内の要素数を計算します。x が JSON 配列ではない場合、null を返します。
json_extract(x,json_path)
JSON オブジェクトまたは JSON 配列から、JSON 値のセット(配列またはオブジェクト)を抽出します。
json_extract_scalar(x,json_path)
JSON オブジェクトまたは JSON 配列から、スカラー値のセット(文字列、整数、またはブール値)を抽出します。json_extract 関数に類似しています。
json_format(x)
JSON 型を文字列型に変換します。
json_parse(x)
文字列型を JSON 型に変換します。
json_size(x,json_path)
JSON オブジェクトまたは配列内の要素数を計算します。

json_array_contains関数

json_array_contains関数は、JSON配列に特定の値が含まれているかどうかを判断するために使用されます。

構文

json_array_contains(x, value)

パラメータ説明

パラメータ
説明
x
パラメータ値はJSON配列です。
value
数値。

戻り値の型

boolean型。

例

JSON文字[1、2、3]に2が含まれているかどうかを判断します。
クエリおよび分析ステートメント。
* | SELECT json_array_contains('[1, 2, 3]', 2)
クエリおよび分析結果。
true

json_array_get関数

json_array_get関数は、JSON配列内の特定のインデックスに対応する要素を取得するために使用されます。

構文

json_array_get(x, index)

パラメータ説明

パラメータ
説明
x
パラメータ値はJSON配列です。
index
JSONの添字は0から始まります。

戻り値の型

varchar型。

例

JSON配列["a", [3, 9], "c"]のインデックス1の要素を返します。
クエリおよび分析ステートメント。
* | SELECT json_array_get('["a", [3, 9], "c"]', 1)
クエリおよび分析結果。
[3,9]

json_array_length関数

json_array_length関数は、JSON配列内の要素の数を計算するために使用されます。xがJSON配列ではない場合、nullを返します。

構文

json_array_length(x)

パラメータ説明

パラメータ
説明
x
パラメータ値はJSON配列です。

戻り値の型

bigint型。

例

例1:apple.messageフィールド値内のJSON要素の数を計算します。
apple.message:[{"traceName":"StoreMonitor"},{"topicName":"persistent://apache/pulsar/test-partition-17"},{"producerName":"pulsar-mini-338-36"},{"localAddr":"pulsar://pulsar-mini-broker-5.pulsar-mini-broker.pulsar.svc.cluster.local:6650"},{"sequenceId":826},{"storeTime":1635905306062},{"messageId":"19422-24519"},{"status":"SUCCESS"}]
クエリおよび分析ステートメント。
* | SELECT json_array_length(apple.message)
クエリおよび分析結果。
8

json_extract関数

json_extract関数は、JSONオブジェクトまたはJSON配列からJSON値のセット(配列またはオブジェクト)を抽出するために使用されます。

構文

json_extract(x, json_path)

パラメータ説明

パラメータ
説明
x
パラメータ値はJSONオブジェクトまたはJSON配列です。
json_path
JSONPath形式のJSONパスです。例えば$.store.book[0].titleです。
注意:
配列要素を走査する必要があるJSON構文はサポートされていません。例えば$.store.book[*].author、$..book[(@.length-1)]、$..book[?(@.price<10)]などです。
要素名に特殊文字が含まれる場合は、.構文の代わりに[]構文を使用し、要素名を二重引用符で囲みます。例えば$.store["book name"]です。

戻り値の型

JSON形式のstring型。

例

apple.instantフィールドのepochSecondの値を取得します。
フィールド例。
apple.instant:{"epochSecond":1635905306,"nanoOfSecond":63001000}
クエリおよび分析ステートメント。
* | SELECT json_extract(apple.instant, '$.epochSecond')
クエリおよび分析結果。
1635905306

json_extract_scalar関数

json_extract_scalar関数は、JSONオブジェクトまたはJSON配列からスカラー値(文字列、整数、またはブール値)のセットを抽出するために使用されます。

構文

json_extract_scalar(x, json_path)

パラメータ説明

パラメータ
説明
x
パラメータ値はJSON配列です。
json_path
JSONPath形式のJSONパスです。例えば$.store.book[0].titleです。
注意:
配列要素を走査する必要があるJSON構文はサポートされていません。例えば$.store.book[*].author、$..book[(@.length-1)]、$..book[?(@.price<10)]などです。
要素名に特殊文字が含まれる場合は、.構文の代わりに[]構文を使用し、要素名を二重引用符で囲みます。例えば$.store["book name"]です。

戻り値の型

varchar型。

例

apple.instantフィールドからepochSecondフィールドの値を取得し、その値をbigint型に変換して合計します。
フィールド例。
apple.instant:{"epochSecond":1635905306,"nanoOfSecond":63001000}
クエリおよび分析ステートメント。
* | SELECT sum(cast(json_extract_scalar(apple.instant,'$.epochSecond') AS bigint) )
クエリおよび分析結果。
1635905306

json_format関数

json_format関数は、JSON型を文字列型に変換するために使用されます。

構文

json_format(x)

パラメータ説明

パラメータ
説明
x
パラメータ値はJSON型です。

戻り値の型

varchar型。

例

JSON配列[1,2,3]を文字列に変換します。
クエリおよび分析ステートメント。
* | SELECT json_format(json_parse('[1, 2, 3]'))
クエリおよび分析結果。
[1, 2, 3]

json_parse関数

json_parse関数は、文字列型をJSON型に変換し、JSON形式に準拠しているかどうかを判断するためにのみ使用されます。

構文

json_parse(x)

パラメータ説明

パラメータ
説明
x
パラメータ値は文字列です。

戻り値の型

JSON型。

例

文字列[1, 2, 3]をJSON配列に変換します。
クエリおよび分析ステートメント。
* | SELECT json_parse('[1, 2, 3]')
クエリおよび分析結果。
[1, 2, 3]

json_size関数

json_size関数は、JSONオブジェクトまたはJSON配列内の要素の数を計算するために使用されます。

構文

json_size(x, json_path)

パラメータ説明

パラメータ
説明
x
パラメータ値はJSONオブジェクトまたはJSON配列です。
json_path
JSONPath形式のJSONパスです。例えば$.store.book[0].titleです。
注意:
配列要素を走査する必要があるJSON構文はサポートされていません。例えば$.store.book[*].author、$..book[(@.length-1)]、$..book[?(@.price<10)]などです。
要素名に特殊文字が含まれる場合は、.構文の代わりに[]構文を使用し、要素名を二重引用符で囲みます。例えば$.store["book name"]です。

戻り値の型

bigint型。

例

JSON配列[1,2,3]の長さを取得します。
クエリおよび分析ステートメント。
* | SELECT json_size(json_parse('[1, 2, 3]'),'$')
クエリおよび分析結果。
3


ヘルプとサポート

この記事はお役に立ちましたか?

フィードバック