すべて展開 / 折りたたむ IsJson - スクリプトおよびチャート関数このページ上
IsJson() は、指定された文字列に有効な JSON (JavaScript Object Notation) データが含まれているかどうかをテストします。特定の JSON データ タイプを検証することもできます。
構文:
value IsJson(json [, type])
戻り値データ型: デュアル
引数
json
テストする文字列。余分なスペースまたは改行を含めることができます。
type
テストする JSON データ型を指定するオプションの引数。
'value' (既定)
'object'
'array'
'string'
'number'
'Boolean'
'null'
例: 有効および無効なチャートの数式
IsJson( 'null' )
-1 (true) を返します
IsJson( '"abc"', 'value' )
-1 (true) を返します
IsJson( '"abc"', 'string' )
-1 (true) を返します
IsJson( 123, 'number' )
-1 (true) を返します
IsJson( 'text' )
0 (false) を返します。'text' は有効な JSON 値ではありません。
IsJson( '"text"', 'number' )
0 (false) を返します。'"text"' は有効な JSON 数ではありません。
IsJson( '"text"', 'text' )
0 (false) を返します。'text' は有効な JSON タイプではありません。
例 - IsJson の基本 チャートの数式 概要
データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。
ロード スクリプトには次が含まれています:
「Example 」というデータ テーブルにロードされるデータセット。
データ テーブル内の 1 つの項目は API_Response と呼ばれます。
ID という派生項目。この項目は Rec() 関数を使用して入力レコードを列挙します。
ロード スクリプト
Example:
Load
Recno() AS ID, API_Response
inline [
API_Response
'{"id": 1, "name": "Alice"}'
'{"id": 2, "name": "Bob"}'
'{invalid json string}'
'{"id": 4, "name": "Charlie"}'
'{"id": 5, name: "David"}'
];
コードをクリップボードにコピーします 結果
データをロードしてシートを開きます。新しいテーブルを作成し、これらの項目を軸として追加します:
次の計算軸を作成します。
結果テーブル ID API_Response IsJson(API_Response) 1 {"id": 1, "name": "Alice"} -1 (true) 2 {"id": 2, "name": "Bob"} -1 (true) 3 {invalid json string} 0 (false) 4 {"id": 4, "name": "Charlie"} -1 (true) 5 {"id": 5, name: "David"} 0 (false)
出力は、有効な JSON 構文を持つ値に対して -1 、または true を返します。
出力は、無効な JSON を持つ次の ID レコード (3 と 5 ) に対して0 、または false を返します。
{invalid json string} ― テキスト文字列が有効な JSON 応答構造を表していません。
{"id": 5, name: "David"} ― 2 番目のキーと値のペアには、キー "name" を囲む引用符がありません 。
例 - IsJson のシナリオ チャートの数式 概要
データ ロード エディターを開き、以下のロード スクリプトを新しいセクションに追加します。
ロード スクリプトには次が含まれています:
ロード スクリプト
Example:
Load *
INLINE [OrderDetails
'{ "order_id": "12345", "customer": { "name": "John Doe", "email": "john.doe@example.com"}, "items": {"product": "Laptop", "quantity": 2, "price": 1200 }, "total_price": 2400 }'
];
コードをクリップボードにコピーします 結果
データをロードしてシートを開きます。新しいテーブルを作成し、この項目を軸として追加します:
次のメジャーを作成します:
IsJson( OrderDetails) で、OrderDetails の値が有効な JSON かどうかを計算します。
IsJson( JsonGet ( OrderDetails, '/items/price' ), 'number' ) は、関数 JsonGet を使用して、price キーの JSON テキストを取得し、price の値が数値であることを検証します。
結果テーブル OrderDetails IsJson(OrderDetails) IsJson( JsonGet ( OrderDetails, '/items/price' ), 'number' ) { "order_id": "12345", "customer": { "name": "John Doe", "email": "john.doe@example.com"}, "items": {"product": "Laptop", "quantity": 2, "price": 1200 }, "total_price": 2400 } -1 (true) -1 (true)
OrderDetails には有効な JSON 構文が含まれているため、最初のメジャーは -1 (true) を返します。
2 番目のメジャーは、price キーの値が有効な数字である1200 であるため、-1 (true) を返します。
参照先: