JSON 对字段进行 POJO 空检查
JSON to POJO null check for fields
我有一个非常大的复合体 JSON,我正在将其映射到一个简单的 POJO(只有必填字段)。在 groovy 中,JSON 被解释为 Map.
MyObject build(Map<String, Object> payload){
...
o.name = payload.a.b.name
o.gender = payload.c.d.e.gender
return o
}
字段是可选的,不存在时抛出 NullPointerException。如何在不为每一行放置 try-catch 的情况下映射到“”?我很直截了当,但不知道该怎么做。
您可以结合使用 safe navigation 运算符和 elvis 运算符。
如果在沿着负载行走时抛出:
o.gender = payload.c.d.e.gender
改为:
o.gender = payload?.c?.d?.e?.gender ?: Gender.UNSET
(或者如果 null
可以,则省略 ?:...
部分)
我有一个非常大的复合体 JSON,我正在将其映射到一个简单的 POJO(只有必填字段)。在 groovy 中,JSON 被解释为 Map.
MyObject build(Map<String, Object> payload){
...
o.name = payload.a.b.name
o.gender = payload.c.d.e.gender
return o
}
字段是可选的,不存在时抛出 NullPointerException。如何在不为每一行放置 try-catch 的情况下映射到“”?我很直截了当,但不知道该怎么做。
您可以结合使用 safe navigation 运算符和 elvis 运算符。
如果在沿着负载行走时抛出:
o.gender = payload.c.d.e.gender
改为:
o.gender = payload?.c?.d?.e?.gender ?: Gender.UNSET
(或者如果 null
可以,则省略 ?:...
部分)