如何访问jsonnode中键值对的值



我有一个JsonNode像下面

"{"Pink":["#000000"],"Red":["#000000"],"Blue":["#000000"],"Orange":["#000000"]}"

,我正在尝试获取粉红色的值,例如如下

jsonNode.get("Pink").asText()

但这是不工作-是否有另一种方式,我可以通过Java访问这些值?

看来你的问题是"Pink"是一个数组而不是字符串。这里的解决方案是要么删除方括号,或者如果不可能,下面应该给您预期的结果:

jsonNode.get("Pink").get(0).asText()

这个方法将帮助您遍历JsonNode

public void getColorCode() throws JsonProcessingException {
String color = "{"Pink":["#000000"],"Red":["#000000"],"Blue":["#000000"],"Orange":["#000000"]}";
ObjectMapper mapper = new ObjectMapper();
JsonNode node = mapper.readTree(color);
for (JsonNode colorCode : node.get("Pink")){
System.out.println(colorCode);
}
}

最新更新