概要
アプリオペレーションを用いたAPIのリクエスト結果から、JSON PATHを用いてアウトプットを取得することが可能です。その際のJSON PATHの記載方法についてご紹介します。
リクエスト結果の例(JSONの例)
{
"firstName": "John",
"lastName": "doe",
"age": 26,
"address": {
"streetAddress": "naist street",
"city": "Nara",
"postalCode": "630-0192"
},
"phoneNumbers": [
{
"type": "iPhone",
"number": "0123-4567-8888"
},
{
"type": "home",
"number": "0123-4567-8910"
}
],
"備考": [
{
"type": "DROP_DOWN",
"value": "男性"
},
{
"type": "SINGLE_LINE_TEXT",
"value": "既婚者"
},
{
"type": "SINGLE_LINE_TEXT",
"value": "中途社員"
}
]
}
JSON形式のテキストについて
アプリオペレーションで実行したAPIリクエストの結果は上記のようなJSON形式というテキスト構文で表示されます。
JSON形式のテキストは階層構造で記載されています。
例えば上記の例の場合、「address」という項目の下の階層に「streetAddress」「city」「postalCode」という項目が格納されている形となります。
また、[ ]の中には同様の形式の値が複数記載されるようになっています。
例えば上記の例の場合、「phoneNumbers」という項目の下の階層に、下記の2つの項目が格納されています。
{ "type" : "iPhone", "number": "0123-4567-8888"}
と
{ "type" : "home", "number": "0123-4567-8910"}
JSON PATHの基本構文
JSON PATHは上記の階層構造を順番に指定していく形で記載を行います。
「$」が先頭を表します。(Yoomでは省略が可能です。)
「.」で項目をつないでいきます。(項目が日本語の場合はシングルクォーテーション「'●●'」と囲む必要があります)”
「[ ]」の中を指定する場合、「[3]」といった形で何番目の値なのかを指定します。(その際、1番目の値は0となります。)
「*」は全てを表します。
「:」は以降の値を取得できます。「[1:3]」といった形で2番目~4番目の値を取得します。「[1:]」といった形であれば、2番目以降の値をすべて取得します。
例えば、上記のリクエスト結果の例で、「firstName」に含まれる「John」という値を取得したい場合は、下記の様にJSON PATHを記載します。
$.firstName
または
firstName
また、例えば「address」の中の「city」に含まれる「Nara」という値を取得したい場合は、下記の様にJSON PATHを記載します。
$.address.city
または
address.city
また、例えば「phoneNumbers」の中で一番最初の項目から、「type」に含まれる「iPhone」という値を取得したい場合は、下記の様にJSON PATHを記載します。
$.phoneNumbers[0].type
または
phoneNumbers[0].type
また、例えば「phoneNumbers」の中の全ての項目で、「type」に含まれる値を取得したい場合は、下記の様にJSON PATHを記載します。
この場合の取得結果は「iPhone,home」となります。
$.phoneNumbers[*].type
または
phoneNumbers[*].type
JSON PATHの構文例
JSON PATHの例 | 取得結果 | 説明 |
$.address.postalCode | 630-0192 | 階層を上から順に指定しています。 |
$.phoneNumbers[1].type | home | phoneNumbers内で2番目の項目を指定しています。 |
$.address.* | naist street,Nara,630-0192 | address内の全ての項目の値を取得します。 |
$..type | iPhone,home | ..と記載することでtypeという項目の値を全て取得します。 |
$.phoneNumbers[-1].type | home | [-1]とすることで[ ]内の最後の項目を指定することができます。 |
$.'備考'[0].value | 男性 | 日本語の場合はシングルクォーテーション「'●●'」で囲む必要があります。また備考内で1番目の項目を指定しています。 |
$.'備考'[1:].value | 既婚者,中途社員 | [●:△]と指定することで●~△までの値を取得することができます。△がない場合には、●以降の値をすべて取得します。 |
$.phoneNumbers[?(@.type == 'home')].number | 0123-4567-8910 | [ ]内で、任意の項目を検索することができます。 |
関連記事
関連キーワード
関連キーワード
操作,JSON,JSONPATH,アウトプット