我有一个 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());
});;
哈士奇WWW
相关分类