簡體   English   中英

如何運行作為循環語句接收的 json 作為 HashMap ?

[英]How do I run the json received as a HashMap as a loop statement?

如何運行作為循環語句接收的 json 作為 HashMap ?

Map<String, Object> status = a.getStatus(b.c());

status 的值為:

{
     "schId": "abcd",
     "pos": "8",
     "batteryStatus": "USE",
     "ptz": "358.5/0.0/0",
     "schTime": "1639308034594",
     "sensorVO": {
         "sirmean": "30.4",
         "sirmax": "36.1",
         "sh2S": "0.0",
         "sco2": "4.0",
         "so2": "213.0",
         "shumi": "37.0",
         "sno2": "0.0",
         "sirmin": "23.0",
         "stemp": "40.0",
         "sco": "0.0"
     },
     "time": "1639308034594",
     "battery": "27.80",
     "speed": "30.0",
     "status": "Normal",
     "direction": "North"
}

這時候,我在想如何循環sensorVO。

您可以使用來自jsonObject org.json的 jsonObject

這篇文章可以幫助您了解如何使用它

void handleValue(Object value) {
    if (value instanceof JSONObject) {
        handleJSONObject((JSONObject) value);
    } else if (value instanceof JSONArray) {
        handleJSONArray((JSONArray) value);
    } else {
        logger.info("Value: {0}", value);
    }
}

void handleJSONObject(JSONObject jsonObject) {
    jsonObject.keys().forEachRemaining(key -> {
        Object value = jsonObject.get(key);
        logger.info("Key: {0}", key);
        handleValue(value);
    });
}

static void main() {
  JSONObject jo = new JSONObject("{\"city\":\"chicago\",\"name\":\"jon doe\",\"age\":\"22\"}");
  handleJSONObject(jo);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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