次の JSON があり、JSONPathname
を使用してプレーンな値を取得する必要があります。
{
"single" : {
"id" : 1,
"name" : "Item name"
}
}
私が使用した式は次のとおりです$.single.name
が、常に配列を取得します。
[ "Item name" ]
文字列値 ( "Item name"
) の代わりに。
しかし、私は常に配列を取得します:
それは起こることを意図しています。このドキュメントで読むことができるように、「結果」の下 (ほぼ下部):
jsonPath の戻り値は配列であり、これも有効な JSON 構造であることに注意してください。そのため、結果の構造に jsonPath を再度適用するか、お気に入りの配列メソッドの 1 つを並べ替えとして使用することをお勧めします。
したがって、基本的には常に配列を返します。この場合は String など、他のタイプのデータが必要な場合は、自分で変換する必要があります。
私はJSONPathのJava 実装を使用していましたが、まったく同じ問題に遭遇しました。私にとってうまくいったのは、「[0]」をjsonパス文字列に追加することでした。だからあなたの場合:
$.single.name[0]