(key1,key2,...) などの入力キーのセットに基づいて、標準 JSON 文字列から文字列を抽出します。
構文
string json_tuple(string <json>, string <key1>, string <key2>,...)パラメーター
json: 必須。STRING 型の値。このパラメーターは、標準 JSON 文字列を指定します。
key: 必須。STRING 型の値。このパラメーターは、JSON 文字列内の JSON オブジェクトの
pathを記述するために使用されます。値はドル記号($)で始めることはできません。一度に複数のキーを入力できます。MaxCompute は、.または['']を使用して JSON オブジェクトを解析します。JSON オブジェクト内のキーにピリオド(.)が含まれている場合は、['']を使用できます。
戻り値
STRING 型の値が返されます。
JSON データが空または無効である場合、あるいはキーが空または無効である場合、null が返されます。
JSON データが有効で、キーが存在する場合、関連する文字列が返されます。
この関数は、中国語の文字、複数レベルのネスト、または複雑なネストの配列を含む JSON データを解析できます。
解析操作は、
set odps.sql.udf.getjsonobj.new=true;とともに GET_JSON_OBJECT を実行することと同じです。JSON 文字列から複数のオブジェクトを取得するには、GET_JSON_OBJECT 関数を複数回呼び出す必要があります。その結果、JSON 文字列は複数回解析されます。JSON_TUPLE 関数を使用すると、一度に複数のキーを入力でき、JSON 文字列は一度だけ解析されます。JSON_TUPLE は GET_JSON_OBJECT よりも効率的です。JSON_TUPLE はユーザー定義のテーブル値関数(UDTF)です。テーブルからいくつかの列を選択する場合は、LATERAL VIEW 句とともに JSON_TUPLE を使用します。
関連関数
JSON_TUPLE は複合型関数または文字列関数です。