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