【发布时间】:2015-11-25 10:08:02
【问题描述】:
有人听说过返回值时支持 java8 Optionals 的 json 库吗?
假设我有以下 json 文档:
{
"person" : {
"address" : {
"streetName" : "Moonshtrasse",
"streetNo" : 12
}
}
}
还有一个空文档
{}
假设 JSONObject 中的 get 方法返回 Optionals,我想做这样的事情:
Optional<String> streetName = obj.getJSONObject("person")
.flatMap(person -> person.getJSONObject("address"))
.flatMap(adr -> adr.getString("streetName"));
而不是在每个 get 方法之后检查空值。
在第一种情况下,这个构造会给我一个包含街道名称的 Optional,在第二种情况下会给我一个空 Optional。
【问题讨论】:
-
不,实际上不是
-
另一个线程与 JSON 的序列化有关,并且公认的答案是有一个版本的 Jackson 可以满足需要......所以这个问题似乎由该线程回答。这里有关于这个主题的进一步主题:stackoverflow.com/questions/24547673/…
-
使用
Optional.ofNullable。
标签: java json parsing java-8 optional