我有一個 JSON 如下。目標是獲得相應的“ip”、“PRODUCTTYPE”和“ID”值。{ "customerId": "dummy1", "nameIdmap": { "10.2.1.0": "{PRODUCTTYPE=null, ID=123}", "10.2.1.3": "{PRODUCTTYPE=null, ID=456}", "10.2.1.4": "{PRODUCTTYPE=null, ID=789}", "10.2.1.5": "{PRODUCTTYPE=null, ID=193}" }}我正在使用 ObjectMapper API 來解析和獲取值。ObjectMapper om = new ObjectMapper();JsonNode node = om.readTree(stringToBeParsed);String customerID = node.get("customerId").asText();System.out.println("The Customer ID is ::: "+customerID);JsonNode nameIdmap = node.get("nameIdmap");StreamSupport.stream(nameIdmap.spliterator(), false).forEach( kv -> { System.out.println(kv.asText().split(",")[0] +" , "+kv.asText().split(",")[1]);});但問題是我,在這種情況下無法獲得 IP 地址的密鑰。嘗試了不同的方法來實現,但無法得到我想要的。我檢查了nameIdmap是否是一個數組,nameIdmap.isArray()但它是false。我也在下面嘗試過,但無法獲得IP即密鑰JsonNode nameIdmap = node.get("nameIdmap"); StreamSupport.stream(nameIdmap.spliterator(), false).collect(Collectors.toList()) .forEach(item -> { System.out.println(item.asText()); });;
使用 ObjectMapper java API 解析 JSON 字符串
慕的地8271018
2021-07-12 12:01:41