我想從以下JSON文件獲取其項目名稱項目2的testId:如何從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是GET請求我的郵遞員跑開的響應。
我可以獲取此JSON中任何鍵的值,但我無法添加相關條件,如獲取名稱爲Item6的項目的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