我想检查我的数据是否有空值。 JSON格式的数据低于:在嵌套数据(Java)中找到空值和空字符串
"{
"totalAmount" : 20000,
"items" : [
{
"id" : "9fd91eaf-2b9a-4bae-9692-4222f85e868",
"name" : "X hotel",
"itemType" : 0,
"orderCount" : 2,
"amount" : 5000
},
{
"id" : "9fd91eaf-2b9a-4bae-9692-4222f85e869",
"name": "Special Dinner",
"itemType" : 1,
"orderCount" : 1,
"amount" : 10000
}
]
}"
这是我的检查逻辑。
class NullCheck {
public checkNull (Itinerary itinerary)
Object nu = null;
if (itinerary == null) {
return true;
} else if (itinerary.getTotalAmount() == null || itinerary.getItems() == null) {
return true;
} else if (itinerary.getItems().contains(null)) {
return true;
} else if (itinerary.getItems().stream().flatMap //
(item -> Arrays.stream(item.getClass().getDeclaredFields()))
.map(field -> { field.setAccessible(true); return field.get(nu) == null; })) {
return true;
}
}
然而,IlligalAccessException在field.get(NU)扔了,我想不通为什么我的代码不能很好地工作。 当我阅读java文档时,它在语法上似乎是正确的。 我可以问我的代码哪部分失败? 此外,某些json格式数据转换为String
类型的对象,因此我还需要检查string
是否为空string
。 有没有简单的方法来做到这一点?