我使用Jackson库中的JsonNode对象来保存json响应。我可能有一个JSON像这样:Java可选空Json字段
{
"a": "test",
"b": true
}
然而,在次b
场可能会丢失。因此,它可以回来是这样的:
{
"a": "test"
}
在这种情况下,我想回到Optional.isEmpty()
当我试图检索它的价值。本质上,这是针对Java代码:
if(json.path("b").isMissingNode()) {
return Optional.empty();
} else {
return Optional.of(json.get("b").asBoolean());
}
不过,我想凝结成使用.filter
和.ofNullable
1号线这一点,但我不完全知道如何做到这一点。我发现this post,显示了如何使用过滤器的例子,但我明白s
是什么....
基本上我想找到标b
领域,如果它不存在,然后空车返回。如果它在那里,则返回它的字段的布尔值。
编辑:这不是重复的,因为我没有序列化整个json到一个对象。我不需要JsonIgnore注释。我只想提取1个值。这就像上面那样。
的可能的复制[如何告诉杰克逊序列化过程中忽略一个字段,如果其值为null?](http://stackoverflow.com/questions/11757487/how-to-tell-jackson-to-ignore -a-field-during-serialization-if-its-value-is-null) –
这不是重复的,因为我没有序列化成一个对象。我只是提取1值 – Richard