簡體   English   中英

從JSON中提取特定元素

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM