JSON 関数は文字列を JSON 型として解析し、JSON でフィールドを抽出できます。 JSON の主な構造は、マップと配列の 2 つです。 文字列が JSON 型として解析されない場合、返される値は null です。
JSON を複数の行に分割するには、UNNEST 関数を参照してください
Log Service は、以下の共通の JSON 関数をサポートしています。
関数名 | 説明 | 例 |
---|---|---|
json_parse(string) |
文字列を JSON 型に変換します。 | SELECT json_parse('[1, 2, 3]') returns a JSON array
|
json_format(json) |
JSON タイプを文字列に変換します。 | SELECT json_format(json_parse('[1, 2, 3]')) returns a string
|
json_array_contains(json, value) |
JSON 型の値または文字列(内容が JSON 配列)に値が含まれているかどうかを判別します。 | SELECT json_array_contains(json_parse('[1, 2, 3]'), 2) or SELECT json_array_contains('[1,
2, 3]', 2) |
json_array_get(json_array, index) |
JSON 配列の添字の要素を取得するために使用されるjson_array_contains と同じです。
|
SELECT json_array_get('["a", "b", "c"]', 0) returns 'a' |
json_array_length(json) |
JSON 配列のサイズを返します。 | SELECT json_array_length('[1, 2, 3]') Returns 3 |
json_extract(json, json_path) |
JSON オブジェクトから値を抽出します。 JSON のパス構文は$.store.book[0].title に似ています。 返される結果は JSON オブジェクトです。
|
SELECT json_extract(json, '$.store.book'); |
json_extract_scalar(json, json_path) |
json_extract に似ていますが、文字列を返します。
|
- |
json_size(json,json_path) |
JSON オブジェクトまたは配列のサイズを取得します。 | Select json_size ('[1, 2, 3]') returns 3 |