配列の要素を含むJSONデータがあります。ただし、配列に1つの要素しか含まれていない場合、情報は配列ではなく文字列として提供されます。下記の$ .phoneNumbers.type要素を参照してください。最初の電話番号では、「type」要素は配列として表されますが、配列には1つの要素(「iPhone」)のみが含まれます。 2番目の電話番号では、タイプは単なる文字列( "home")です。文字列または配列を選択するJsonpath式
{
"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"
}
]
}
私はこの式を使ったJSONPathでこれを解析しようとすると:
$.phoneNumbers[0].type[0]
を要素がアレイ括弧に包まれていないときに、私は次のエラーを取得します。
Filter: [0] can only be applied to arrays. Current context is: home - Line: 0"
これらのいずれかを正常に解析できるJSONPath式はありますか?基本的に、要素が配列か文字列かどうかを確認し、必要に応じて次のように調整する必要があると思います:
配列の場合: $ .phoneNumbers [0] .typeそれは文字列である場合は、[0]
を: $ .phoneNumbers [0] .TYPE
は、この可能ですか? https://jsonpath.curiousconcept.comを使用してJSONの入力を使用する場合は