如何从 jsonnode 中的键值对访问值

问题描述

我有一个像下面这样的 JsonNode

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

我正在尝试获取 Pink 的值,例如像这样

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

但这不起作用 - 有没有其他方法可以通过 Java 访问这些值?

解决方法

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

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

这个方法会帮你遍历JsonNode

criteriaQuery.multiselect(
        criteriaBuilder.sum(
                criteriaBuilder.<Integer>selectCase().when(/* conditions for sum_a */),1
                ).otherwise(criteriaBuilder.nullLiteral(Integer.class))
        ).alias("sum_a"),criteriaBuilder.sum(
                criteriaBuilder.<Integer>selectCase().when(/* conditions for sum_b */),1
                ).otherwise(criteriaBuilder.nullLiteral(Integer.class))
        ).alias("sum_b"),