メインコンテンツへスキップ

JSON関数の種類

JSONをパースする関数は、次の2種類に分かれます。
  • simpleJSON* (visitParam*):JSONの限られたサブセットを非常に高速にパースするための関数です。
  • JSONExtract*:一般的なJSONをパースするための関数です。

simpleJSON (visitParam) 関数

ClickHouse には、簡易 JSON を扱うための特別な関数があります。これらの JSON 関数はすべて、JSON の形式について強い前提を置いています。できるだけ高速に処理するため、必要最小限の処理 בלבדを行うよう設計されています。 前提は次のとおりです。
  1. フィールド名 (関数の引数) は定数でなければなりません。
  2. フィールド名は、JSON 内で何らかの正規化された形式でエンコードされている必要があります。たとえば、simpleJSONHas('{"abc":"def"}', 'abc') = 1 ですが、simpleJSONHas('{"\\u0061\\u0062\\u0063":"def"}', 'abc') = 0 です。
  3. フィールドは、ネストの深さに関係なく検索されます。一致するフィールドが複数ある場合は、最初に出現したものが使用されます。
  4. JSON には、文字列リテラルの外側に空白文字があってはなりません。

JSONExtract 関数

これらの関数は simdjson をベースとしており、より複雑な JSON のパース処理に対応できるよう設計されています。

大文字・小文字を区別しない JSONExtract 関数

これらの関数は、JSON オブジェクトから値を抽出する際に、ASCII におけるキーの大文字・小文字を区別しない照合を行います。 動作は大文字・小文字を区別する対応する関数と同じですが、オブジェクトのキーは大文字・小文字に関係なく照合されます。 大文字・小文字だけが異なる複数のキーに一致した場合は、最初に一致したものが返されます。
これらの関数は大文字・小文字を区別する対応する関数よりもパフォーマンスが低下する場合があるため、可能であれば通常の JSONExtract 関数を使用してください。

JSONAllPaths

導入バージョン: v24.8.0 JSONカラムの各行に格納されているすべてのパスの一覧を返します。 構文
引数
  • json — JSONカラム。JSON
戻り値 JSONカラムに含まれるすべてのパスの配列を返します。Array(String) 使用例
Query
Response

JSONAllPathsWithTypes

導入バージョン: v24.8.0 JSONカラムの各行に格納されている、すべてのパスとそのデータ型の一覧を返します。 構文
引数
  • json — JSONカラム。JSON
戻り値 JSONカラム内のすべてのパスと、それぞれのデータ型のマップを返します。Map(String, String) 使用例
Query
Response

JSONAllValues

導入バージョン: v26.4.0 JSONカラムの各行に含まれるすべての値を、文字列の配列として返します。 値はテキスト表現にシリアライズされ、パス名の順に並べられます。 構文
引数
  • json — JSONカラム。JSON
戻り値 JSONカラム内のすべての値を文字列として格納した配列を返します。Array(String) 使用例
Query
Response

JSONArrayLength

導入バージョン: v23.2.0 最上位のJSON配列に含まれる要素数を返します。 入力されたJSON文字列が無効な場合、この関数はNULLを返します。 構文
別名: JSON_ARRAY_LENGTH 引数
  • json — 有効な JSON を表す String。String
戻り値 json が有効な JSON 配列を表す文字列である場合は配列要素数を返し、そうでない場合は NULL を返します。Nullable(UInt64) 使用例
Query
Response

JSONDynamicPaths

導入バージョン: v24.8.0 JSONカラム内で個別のサブカラムとして格納されている動的パスの一覧を返します。 構文
引数
  • json — JSONカラム。JSON
戻り値 JSONカラム内の動的パスの配列を返します。Array(String) 使用例
Query
Response

JSONDynamicPathsWithTypes

導入バージョン: v24.8.0 JSONカラムの各行で、個別のサブカラムとして格納されている動的パスとその型の一覧を返します。 構文
引数
  • json — JSONカラム。 JSON
戻り値 JSONカラム内の動的なパスとそのデータ型のマップを返します。 Map(String, String) 使用例
Query
Response

JSONExtract

導入バージョン: v19.14.0 JSON を解析し、指定した ClickHouse のデータ型の値を抽出します。 構文
引数
  • json — パースする JSON 文字列。String
  • indices_or_keys — 0 個以上の引数からなるリストで、各要素には文字列または整数を指定できます。String または (U)Int*
  • return_type — 返す ClickHouse のデータ型。String
戻り値 可能な場合は、指定された ClickHouse のデータ型の値を返します。そうでない場合は、その型のデフォルト値を返します。 使用例
Query
Response

JSONExtractArrayRaw

導入バージョン: v20.1.0 JSON array の各要素を、未解析の文字列として表した配列を返します。 構文
引数
  • json — パース対象の JSON 文字列。String
  • indices_or_keys — 0 個以上の引数からなるリストで、各引数には文字列または整数のいずれかを指定できます。String または (U)Int*
戻り値 JSON 配列の要素を含む文字列の配列を返します。指定した部分が配列でない場合、または存在しない場合は、空の配列を返します。Array(String) 使用例
Query
Response

JSONExtractArrayRawCaseInsensitive

導入バージョン: v25.8.0 JSON 配列の各要素を未解析の文字列として表した配列を、キーの大文字・小文字を区別しない照合を用いて返します。この関数は JSONExtractArrayRaw に似ています。 構文
引数
  • json — パース対象の JSON 文字列 String
  • indices_or_keys — 任意。配列までたどるためのインデックスまたはキー。キーの大文字・小文字を区別しない照合 String または (U)Int*
戻り値 生の JSON 文字列の配列を返します。 Array(String) 基本
Query
Response

JSONExtractBool

導入バージョン: v20.1.0 JSON を解析し、Bool 型の値を抽出します。 構文
引数
  • json — パース対象の JSON 文字列。 String
  • indices_or_keys — 0 個以上の引数からなるリストで、各引数には文字列または整数を指定できます。 String または (U)Int*
戻り値 値が存在する場合は Bool 値を返し、存在しない場合は 0 を返します。 Bool 使用例
Query
Response

JSONExtractBoolCaseInsensitive

導入バージョン: v25.8.0 JSON を解析し、キーの大文字・小文字を区別しない照合で真偽値を抽出します。この関数は JSONExtractBool と似ています。 構文
引数
  • json — 解析対象の JSON 文字列 String
  • indices_or_keys — 任意。フィールドに到達するためのインデックスまたはキー。キーの大文字・小文字を区別しない照合 String または (U)Int*
戻り値 抽出したブール値を返します (true の場合は 1、false の場合は 0) 。見つからない場合は 0 を返します。UInt8 基本
Query
Response

JSONExtractCaseInsensitive

導入バージョン: v25.8.0 JSON を解析し、キーの大文字・小文字を区別しない照合で、指定された ClickHouse のデータ型の値を抽出します。この関数は JSONExtract に似ています。 構文
引数
  • json — 解析する JSON 文字列 String
  • indices_or_keys — 任意。フィールドにアクセスするためのインデックスまたはキー。キーの大文字・小文字を区別しない照合 String または (U)Int*
  • return_type — 抽出する ClickHouse のデータ型 String
戻り値 指定したデータ型で抽出した値を返します。Any int_type
Query
Response
array_type
Query
Response

JSONExtractFloat

導入バージョン: v20.1.0 JSON を解析して、Float 型の値を抽出します。 構文
引数
  • json — パース対象の JSON 文字列。 String
  • indices_or_keys — 0 個以上の引数からなるリストで、各引数には文字列または整数を指定できます。 String または (U)Int*
戻り値 値が存在する場合は Float 値を返し、存在しない場合は 0 を返します。 Float64 使用例
Query
Response

JSONExtractFloatCaseInsensitive

導入バージョン: v25.8.0 JSON を解析し、キーの大文字・小文字を区別しない照合で Float 型の値を抽出します。この関数は JSONExtractFloat に似ています。 構文
引数
  • json — パースする JSON 文字列 String
  • indices_or_keys — 任意。フィールドにたどり着くためのインデックスまたはキー。キーの大文字・小文字を区別しない照合 String または (U)Int*
戻り値 抽出された Float 値を返します。見つからない場合、または変換できない場合は 0 を返します。 Float64 基本
Query
Response

JSONExtractInt

導入バージョン: v20.1.0 JSON をパースして、Int 型の値を抽出します。 構文
引数
  • json — 解析する JSON 文字列。 String
  • indices_or_keys — 0 個以上の引数からなるリストで、各引数には文字列または整数を指定できます。 String または (U)Int*
戻り値 値が存在する場合は Int 値を返し、存在しない場合は 0 を返します。 Int64 使用例
Query
Response

JSONExtractIntCaseInsensitive

導入バージョン: v25.8.0 JSONを解析し、キーの大文字・小文字を区別しない照合で Int 型の値を抽出します。この関数は JSONExtractInt と似ています。 構文
引数
  • json — 解析する JSON 文字列 String
  • indices_or_keys — オプション。フィールドまでたどるためのインデックスまたはキー。キーの大文字・小文字を区別しない照合 String または (U)Int*
戻り値 抽出された Int 値を返します。見つからない場合、または変換できない場合は 0 を返します。 Int64 基本
Query
Response
入れ子
Query
Response

JSONExtractKeys

導入バージョン: v21.11.0 JSON文字列を解析し、キーを抽出します。 構文
引数
  • json — 解析する JSON 文字列。 String
  • indices_or_keys — 0 個以上の引数のリストで、各引数は文字列または整数のいずれかです。 String または (U)Int*
戻り値 JSONオブジェクトのキーを含む配列を返します。 Array(String) 使用例
Query
Response

JSONExtractKeysAndValues

導入バージョン: v20.1.0 値が指定した ClickHouse のデータ型である JSON から、キーと値のペアを解析します。 構文
引数
  • json — パースする JSON 文字列。String
  • indices_or_keys — 0 個以上の引数を指定でき、各引数には文字列または整数を指定できます。String または (U)Int*
  • value_type — 値の ClickHouse データ型。String
戻り値 パースされたキー・バリューのペアからなるタプルの配列を返します。Array(Tuple(String, value_type)) 使用例
Query
Response

JSONExtractKeysAndValuesCaseInsensitive

導入バージョン: v25.8.0 JSON から、キーの大文字・小文字を区別しない照合を用いてキー・バリューのペアを解析します。この関数は JSONExtractKeysAndValues に似ています。 構文
引数
  • json — 解析する JSON 文字列 String
  • indices_or_keys — 任意。オブジェクト内をたどるためのインデックスまたはキー。キーの大文字・小文字を区別しない照合 String または (U)Int*
  • value_type — 値の ClickHouse データ型 String
戻り値 キー・バリューのペアからなるタプルの配列を返します。 Array(Tuple(String, T)) 基本
Query
Response

JSONExtractKeysAndValuesRaw

導入バージョン: v20.4.0 JSON オブジェクト のキーと値を含む タプル の Array を返します。すべての値は、解析されていない文字列として表されます。 構文
引数
  • json — パース対象の JSON 文字列。String
  • indices_or_keys — 0 個以上の引数からなるリストで、各引数には文字列または整数のいずれかを指定できます。String または (U)Int*
戻り値 値が未パースの文字列である、パース済みのキー・バリューのペアからなるタプルの配列を返します。Array(Tuple(String, String)) 使用例
Query
Response

JSONExtractKeysAndValuesRawCaseInsensitive

導入バージョン: v25.8.0 キーの大文字・小文字を区別しない照合を使用して、JSONから生のキー・バリューのペアを抽出します。この関数は JSONExtractKeysAndValuesRaw に似ています。 構文
引数
  • json — parse する JSON 文字列 String
  • indices_or_keys — 任意。オブジェクトにたどるためのインデックスまたはキー。キーの大文字・小文字を区別しない照合 String または (U)Int*
戻り値 キー・バリューのペアを生の文字列として含む Tuple の配列を返します。 Array(Tuple(String, String)) 基本
Query
Response

JSONExtractKeysCaseInsensitive

導入バージョン: v25.8.0 JSON文字列を解析し、ネストされたオブジェクト内をたどる際にキーの大文字・小文字を区別しない照合を使用して、キーを抽出します。この関数は JSONExtractKeys に似ています。 構文
引数
  • json — 解析する JSON 文字列 String
  • indices_or_keys — 省略可。オブジェクト内をたどるためのインデックスまたはキー。キーの大文字・小文字を区別しない照合 String または (U)Int*
戻り値 JSONオブジェクトのキーの配列を返します。 Array(String) 基本
Query
Response
ネスト
Query
Response

JSONExtractRaw

導入バージョン: v20.1.0 JSON の一部を、パースされていない文字列として返します。 構文
引数
  • json — パース対象の JSON 文字列。String
  • indices_or_keys — 0 個以上の引数からなるリストで、各引数には文字列または整数を指定できます。String または (U)Int*
戻り値 JSON の一部を、パースされていない文字列として返します。その部分が存在しない場合、または型が正しくない場合は、空文字列が返されます。String 使用例
Query
Response

JSONExtractRawCaseInsensitive

導入バージョン: v25.8.0 キーの大文字・小文字を区別しない照合を使用して、JSON の一部を解析せずに文字列として返します。この関数は JSONExtractRaw と似ています。 構文
引数
  • json — 解析対象の JSON 文字列 String
  • indices_or_keys — 省略可。フィールドにたどり着くためのインデックスまたはキー。キーの照合では大文字と小文字は区別されません String または (U)Int*
戻り値 抽出された要素の生の JSON 文字列を返します。 String オブジェクト
Query
Response

JSONExtractString

導入バージョン: v20.1.0 JSON を解析し、String 型の値を抽出します。 構文
引数
  • json — 解析する JSON 文字列。 String
  • indices_or_keys — 0 個以上の引数からなるリストで、各引数には文字列または整数を指定できます。 String または (U)Int*
戻り値 値が存在する場合は String 値を返し、存在しない場合は空文字列を返します。 String 使用例
Query
Response

JSONExtractStringCaseInsensitive

導入バージョン: v25.8.0 JSON を解析し、キーの大文字・小文字を区別しない照合で文字列を抽出します。この関数は JSONExtractString に似ています。 構文
引数
  • json — パースする JSON 文字列 String
  • indices_or_keys — 任意。フィールドに到達するためのインデックスまたはキー。キーは大文字と小文字を区別せずに照合されます String または (U)Int*
戻り値 抽出された文字列値を返します。見つからない場合は空文字列を返します。 String 基本
Query
Response
ネスト
Query
Response

JSONExtractUInt

導入バージョン: v20.1.0 JSON をパースして、UInt 型の値を抽出します。 構文
引数
  • json — 解析する JSON 文字列。 String
  • indices_or_keys — 0 個以上の引数のリストで、各引数は文字列または整数のいずれかです。 String または (U)Int*
戻り値 存在する場合は UInt 値を返し、存在しない場合は 0 を返します。 UInt64 使用例
Query
Response

JSONExtractUIntCaseInsensitive

導入バージョン: v25.8.0 JSON を解析し、キーの大文字・小文字を区別しない照合で UInt 型の値を抽出します。この関数は JSONExtractUInt に似ています。 構文
引数
  • json — 解析対象の JSON 文字列 String
  • indices_or_keys — 任意。フィールドまでたどるためのインデックスまたはキー。キーの照合では大文字と小文字を区別しません String または (U)Int*
戻り値 抽出された UInt 値を返します。見つからない場合、または変換できない場合は 0 を返します。 UInt64 基本
Query
Response

JSONHas

導入バージョン: v20.1.0 JSON ドキュメント内に、指定した値が存在するかどうかを返します。 構文
引数
  • json — 解析対象の JSON 文字列 String
  • [ ,indices_or_keys, ...] — 0 個以上の引数の一覧。 String または (U)Int*
戻り値 値が json 内に存在する場合は 1、存在しない場合は 0 を返します UInt8 使用例
Query
Response

JSONKey

導入バージョン: v20.1.0 JSON オブジェクトのフィールドのキーを、その索引 (1 始まり) で返します。JSON が文字列として渡された場合は、まずパースされます。2 番目の引数は、ネストされたオブジェクト内をたどるための JSON パスです。この関数は、指定した位置にあるキー名を返します。 構文
引数
  • json — 解析対象の JSON 文字列。String
  • indices_or_keys — ネストされた要素へのパスを指定する、省略可能な索引またはキーのリスト。各引数には、文字列 (キーによるアクセス) または整数 (1 から始まる索引によるアクセス) のいずれかを指定できます。String または Int*
戻り値 JSONオブジェクト内の指定した位置にあるキー名を返します。String 使用例
Query
Response

JSONLength

導入バージョン: v20.1.0 JSON配列またはJSONオブジェクトの長さを返します。 値が存在しない場合、または型が一致しない場合は、0 が返されます。 構文
引数
  • json — 解析する JSON 文字列 String
  • [, indices_or_keys, ...] — 任意。0 個以上の引数のリスト。String または (U)Int8/16/32/64
戻り値 JSON 配列または JSON オブジェクトの長さを返します。値が存在しないか、型が異なる場合は 0 を返します。UInt64 使用例
Query
Response

JSONMergePatch

導入バージョン: v23.10.0 複数の JSON オブジェクトをマージして生成された JSON オブジェクト文字列を返します。 構文
別名: jsonMergePatch 引数
  • json1[, json2, ...] — 有効な JSON を含む文字列を1つ以上指定します。String
戻り値 JSON オブジェクト文字列が有効な場合、マージされた JSON オブジェクト文字列を返します。String 使用例
Query
Response

JSONSharedDataPaths

導入バージョン: v24.8.0 JSONカラムの共有データ構造に格納されているパスの一覧を返します。 構文
引数
  • json — JSONカラム。JSON
戻り値 JSONカラムの共有データ構造に格納されているパスの配列を返します。Array(String) 使用例
Query
Response

JSONSharedDataPathsWithTypes

導入バージョン: v24.8.0 JSONカラムの各行について、共有データ構造に格納されているパスとその型の一覧を返します。 構文
引数
  • json — JSONカラム。JSON
戻り値 共有データ構造に格納されたパスと、JSONカラム内におけるそれらのデータ型の対応を表すマップを返します。Map(String, String) 使用例
Query
Response

JSONType

導入バージョン: v20.1.0 JSON値の型を返します。値が存在しない場合は、Null=0 を返します。 構文
引数
  • json — 解析対象の JSON 文字列 String
  • json[, indices_or_keys, ...] — 0 個以上の引数のリストで、各引数には文字列または整数を指定できます。String または (U)Int8/16/32/64
戻り値 JSON 値の型を文字列として返します。値が存在しない場合は Null=0 を返します。Enum 使用例
Query
Response

JSON_EXISTS

導入バージョン: v21.8.0 JSON ドキュメント内に値が存在する場合は、1 が返されます。 値が存在しない場合は、0 が返されます。 構文
引数
  • json — 有効な JSON を含む文字列。String
  • path — パスを表す文字列。String
戻り値 JSON ドキュメント内に値が存在する場合は 1 を、存在しない場合は 0 を返します。UInt8 使用例
Query
Response

JSON_QUERY

導入バージョン: v21.8.0 JSON を解析して、値を JSON 配列 または JSON オブジェクト として抽出します。 値が存在しない場合は、空文字列が返されます。 構文
引数
  • json — 有効なJSONを含む文字列。String
  • path — パスを表す文字列。String
戻り値 抽出された JSON 配列または JSON オブジェクトを文字列として返します。値が存在しない場合は空文字列を返します。String 使用例
Query
Response

JSON_VALUE

導入バージョン: v21.11.0 JSON を解析し、値を JSON スカラーとして抽出します。値が存在しない場合、デフォルトでは空文字列が返されます。 この関数は、次の設定で制御されます。
  • SET function_json_value_return_type_allow_nullable = true を設定すると、NULL が返されます。値が複合型 (struct、array、map など) の場合、デフォルトでは空文字列が返されます。
  • SET function_json_value_return_type_allow_complex = true を設定すると、複合型の値が返されます。
構文
引数
  • json — 有効な JSON を含む文字列です。String
  • path — パスを表す文字列です。String
戻り値 抽出された JSON のスカラー値を文字列として返します。値が存在しない場合は空文字列を返します。String 使用例
Query
Response

dynamicElement

導入バージョン: v24.1.0 Dynamic カラムから、指定した型のカラムを抽出します。 この関数を使用すると、Dynamic カラムから特定の型の値を取り出せます。行に要求された型の値が含まれている場合は、その値を返します。行に別の型の値または NULL が含まれている場合は、スカラー型では NULL、Array 型では空の Array を返します。 構文
引数
  • dynamic — 抽出元の Dynamic カラム。Dynamic
  • type_name — 抽出する Variant 型の名前 (例: ‘String’、‘Int64’、‘Array(Int64)’) 。
戻り値 Dynamic カラムから指定した型の値を返します。一致しない型の場合は NULL を返します (Array 型の場合は空の Array) 。Any Dynamic カラムからさまざまな型を抽出する
Query
Response

dynamicType

導入バージョン: v24.1.0 Dynamic カラムの各行について、その Variant 型の型名を返します。 NULL を含む行では、この関数は ‘None’ を返します。それ以外のすべての行では、Dynamic カラムのその行に格納されている実際のデータ型 (例: ‘Int64’、‘String’、‘Array(Int64)’) を返します。 構文
引数
  • dynamic — 調査対象の Dynamic カラム。Dynamic
戻り値 各行に格納された値の型名を返します。NULL 値の場合は ‘None’ を返します。String Dynamic カラム内の型を調べる
Query
Response

isDynamicElementInSharedData

導入バージョン: v24.1.0 個別のサブカラムではなく、共有 variant フォーマットに格納されている Dynamic カラムの行に対して true を返します。 Dynamic カラムに max_types の制限がある場合、この制限を超える値は、個別の型付きサブカラムに分離されるのではなく、共有バイナリフォーマットで格納されます。この関数は、どの行がこの共有フォーマットで格納されているかを判別します。 構文
引数
  • dynamic — 調査対象の Dynamic カラム。Dynamic
戻り値 値が共有 Variant フォーマットで格納されている場合は true、個別のサブカラムとして格納されている場合、または NULL の場合は false を返します。Bool max_types の制限がある Dynamic カラムで格納フォーマットを確認する
Query
Response

isValidJSON

導入バージョン: v20.1.0 渡された文字列が有効なJSONかどうかを判定します。 構文
引数
  • json — 検証対象の JSON 文字列 String
戻り値 文字列が有効な JSON の場合は 1、そうでない場合は 0 を返します。 UInt8 使用例
Query
Response
整数を使ってJSON配列とJSONオブジェクトの両方にアクセスする
Query
Response

prettyPrintJSON

導入バージョン: v26.4.0 JSON文字列を、改行とスペースによるインデントを付けた整形済みの形式で返します。 構文
引数
  • json — 整形する有効な JSON 文字列。String
  • indent — インデントレベルごとのスペース数。デフォルト: 4。最大: 32 UInt*
戻り値 整形済みの JSON 文字列。String シンプルなオブジェクト
Query
Response
インデントのカスタマイズ
Query
Response

simpleJSONExtractBool

導入バージョン: v21.4.0 field_name という名前のフィールドの値から true/false の値を解析します。 結果は UInt8 型です。 構文
別名: visitParamExtractBool 引数
  • json — フィールドを検索する対象の JSON。String
  • field_name — 検索するフィールド名。const String
戻り値 フィールドの値が true の場合は 1 を返し、それ以外の場合は 0 を返します。つまり、この関数は、少なくとも次のような場合に 0 を返します。
  • フィールドが存在しない場合。
  • フィールドの値が文字列の true である場合 (例: {"field":"true"}) 。
  • フィールドの値が数値の 1 である場合。UInt8
使用例
Query
Response

simpleJSONExtractFloat

導入バージョン: v21.4.0 field_name という名前のフィールドの値から Float64 を抽出します。 field_name が文字列フィールドの場合は、文字列の先頭から数値として解釈しようとします。 フィールドが存在しない場合、または存在していても数値が含まれていない場合は、0 を返します。 構文
別名: visitParamExtractFloat 引数
  • json — フィールドを検索する対象の JSON。 String
  • field_name — 検索するフィールドの名前。 const String
戻り値 フィールドが存在し、数値が含まれている場合はそのフィールドから解析された数値を返します。存在しない場合、または数値が含まれていない場合は 0 を返します。 Float64 使用例
Query
Response

simpleJSONExtractInt

導入バージョン: v21.4.0 field_name という名前のフィールドの値から Int64 をパースします。 field_name が文字列フィールドの場合は、文字列の先頭から数値をパースしようとします。 フィールドが存在しない場合、または存在していても数値が含まれていない場合は、0 を返します。 構文
別名: visitParamExtractInt 引数
  • json — フィールドを検索する対象の JSON。String
  • field_name — 検索するフィールドの名前。const String
戻り値 フィールドが存在し、その値が数値である場合はそのフィールドから解析した数値を返し、それ以外の場合は 0 を返します。Int64 使用例
Query
Response

simpleJSONExtractRaw

導入バージョン: v21.4.0 field_name という名前のフィールドの値を、区切り文字も含めた String として返します。 構文
別名: visitParamExtractRaw 引数
  • json — フィールドを検索する対象の JSON。String
  • field_name — 検索するフィールドの名前。const String
戻り値 フィールドが存在する場合は、そのフィールドの値を区切り文字を含めて文字列として返し、存在しない場合は空文字列を返します。String 使用例
Query
Response

simpleJSONExtractString

導入バージョン: v21.4.0 field_name という名前のフィールドの値から、二重引用符で囲まれた String を解析します。 実装の詳細 現在、基本多言語面 (BMP) に含まれない \uXXXX\uYYYY 形式のコードポイントはサポートされていません (UTF-8 ではなく CESU-8 に変換されます) 。 構文
別名: visitParamExtractString 引数
  • json — フィールドを検索する対象の JSON。 String
  • field_name — 検索するフィールド名。 const String
戻り値 フィールドのエスケープされていない値を、区切り文字を含む文字列として返します。フィールドに二重引用符で囲まれた文字列が含まれていない場合、エスケープ解除に失敗した場合、またはフィールドが存在しない場合は、空文字列を返します。 String 使用例
Query
Response

simpleJSONExtractUInt

導入バージョン: v21.4.0 field_name という名前のフィールドの値から UInt64 をパースします。 field_name が文字列フィールドの場合は、その文字列の先頭から数値をパースしようとします。 フィールドが存在しない場合、または存在していても数値が含まれていない場合は、0 を返します。 構文
別名: visitParamExtractUInt 引数
  • json — フィールドを検索する対象の JSON。 String
  • field_name — 検索対象のフィールド名。 const String
戻り値 フィールドが存在し、その値が数値である場合はその数値を返し、それ以外の場合は 0 を返します UInt64 使用例
Query
Response

simpleJSONHas

導入バージョン: v21.4.0 field_name という名前のフィールドが存在するかどうかを返します。 構文
別名: visitParamHas 引数
  • json — フィールドを検索する対象の JSON。 String
  • field_name — 検索対象のフィールド名。 const String
戻り値 フィールドが存在する場合は 1、存在しない場合は 0 を返します。 UInt8 使用例
Query
Response

toJSONString

導入バージョン: v21.7.0 値を JSON 表現にシリアライズします。さまざまなデータ型とネストされた構造をサポートしています。 64 ビットの 整数 以上 (UInt64Int128 など) は、デフォルトで引用符で囲まれます。output_format_json_quote_64bit_integers でこの動作を制御します。 特殊な値 NaNinfnull に置き換えられます。これらを表示するには、output_format_json_quote_denormals 設定を有効にします。 Enum 値をシリアライズする場合、この関数はその名前を出力します。 関連項目: 構文
引数
  • value — シリアライゼーションする値です。値には任意のデータ型を指定できます。Any
戻り値 値のJSON表現を返します。String Mapのシリアライゼーション
Query
Response
特殊な値
Query
Response
最終更新日 2026年6月25日