JAVAでJayway JsonPath 2.2を使用しています。私は同じことについていくつか質問があります。JsonPathフィルタ後に文字列を取得する
サンプルJSON:
{ "l5": [ { "type": "type1", "result": [ "res1" ] }, { "type": "type2", "result": [ "r1" ] } ] }
私はフィルタが適用された後の文字列を取得したいですか?
例:
type2
(文字列)が、私は何をやっている場合は、[ "TYPE2"](配列)を得ることがパスを修正してください:文字列を取得するために使用
パスが
l5[?(@.type == 'type2')].type
期待される結果ですそれを文字列として取得するのは間違っていますか?フィルターが適用された後に結果の配列にインデックスを付けることができません。どうすれば同じことができますか?
例:
私はパス
l5[?(@.type == 'type2')][0]
を使用する場合は、代わりに私の最初のJSONObject
を返すことが[]
を返しますがjsonPathを使用して文字列から部分文字列を抽出することが可能ですか?私は、一般的なライブラリを維持したいと私は、JAVAで任意の操作を行うことはできません:
何か注意
l5[0].type[0,2] => res
のような?
を、それは配列を返します。それ以外の場合は、戻りデータに従って値をキャストします。例:パス 'l5 [0] .type'を与えると、適切な文字列** type1 **が得られます。しかし、フィルタの場合にのみ、私は取得していません。また、私は同じを達成するために余分なJavaコードを追加することはできません。 –