我有一个像下面这样的 JsonNode
"{"Pink":["#000000"],"Red":["#000000"],"Blue":["#000000"],"Orange":["#000000"]}"
我正在尝试获得 Pink 的价值,例如这样
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);
}
}