0

我有一个像下面这样的 JsonNode

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

我正在尝试获得 Pink 的价值,例如这样

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

但这不起作用 - 还有另一种方法可以通过 Java 访问这些值吗?

4

2 回答 2

0

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

jsonNode.get("Pink").get(0).asText()
于 2021-02-03T10:24:36.657 回答
0

此方法将帮助您遍历 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);
        }
    }
于 2021-03-12T11:21:08.113 回答