[英]Extracting a specific element from a JSON
我有一個JSON作為folows
{
"Root1": {
"Result": {
"ID": "200",
"Text": "OK"
}
}
}
有沒有什么辦法可以直接將“ID”的值提取到變量而不遍歷根元素,即“Root1”。 因為每次運行應用程序時根元素名稱都會更改,如“Root2”,“Root3”。
下面是我嘗試使用“Root1”和“Result”元素提取ID的代碼
JSONObject jsonObject = new JSONObject("{\"Root1\": {\"Result\": {\"ID\": \"200\",\"Text\": \"OK\"}}}");
String element = jsonObject.getJSONObject("Root1").getJSONObject("Result").getString("ID");
只要json的結構始終一致,您就可以從根對象獲取所有密鑰,並使用找到的第一個密鑰來訪問ID:
JSONObject jsonObject = new JSONObject("{\"Root1\": {\"Result\": {\"ID\": \"200\",\"Text\": \"OK\"}}}");
String rootKey = (String)jsonObject.keys().next();
String element = jsonObject.getJSONObject(rootKey).getJSONObject("Result").getString("ID");
可能是你可以使用lambda表達式查詢你的json數據。有一個類org.json.JSONarray使用它的getvalueas方法並且在這個方法流(你的lambda).filter(你的lambda).map(你的lambda)可以解決你的問題。
謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.