私は、次のJSONファイルからアイテム2名を持つアイテムのテストIDを取得しようとしています:このJSONは、私は郵便配達に走ったGETリクエストの応答であるJSONファイルから相対値を取得する方法は?
{
"errors": [],
"data": {
"collections": [
{
"testId": 250,
"name": "Item1",
"itemCount": 3
},
{
"testId": 350,
"name": "Item2",
"itemCount": 4
},
{
"testId": 411,
"name": "Item3",
"itemCount": 1
},
{
"testId": 450,
"name": "null",
"itemCount": 0
}
]
}
}
。
私はこのJSONの任意のキーの値を取得できますが、 というItemIDの項目のtestIDを取得するなどの相対的な条件を追加することはできません。
私はすべての要素に対してtestIDの値を取得するために配列リストを使用していますが、これは問題なく機能しています。私が欲しいものを達成するために、以下の変更を加えることはできますか?
protected String getTokenValueUnderHierarchy(String responseString) throws ClientProtocolException, IOException {
String responseRecordsTitle = null;
List<String> list = Arrays.asList(responseString.split("testId"));
System.out.println("list.size()::"+list.size());
for (int i=0;i<list.size();i++){
System.out.println("List Element:"+list.get(i));
responseRecordsTitle = getTokenValue(responseString,"testId");
}
return responseRecordsTitle;
}
PS:getTokenValue(String、String)は値を取得するために作成した関数で、正常に動作します。
カスタムロジックを記述するための具体的な理由はありますか?なぜあなたはこのURLに示されているように既存のAPIを使用できないのですか?https://www.mkyong.com/java/jackson-2-convert-java-object-to-from-json/ jsonを簡単にオブジェクトに変換する方が良いメンテナンス(将来的に役立ちます) – RamPrakash
はい! IDは私がフェッチし、他のサービス要求のURLパラメータとして使用されるため、このロジックが必要です。 – SSabharwal