Ich möchte überprüfen, ob meine Daten Nullwert haben. Die Daten im JSON-Format ist unten:Nullwert und leere Zeichenfolge in verschachtelten Daten (Java) finden
"{
"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
}
]
}"
Und hier ist meine Prüflogik.
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;
}
}
ist jedoch IlligalAccessException bei field.get (nu) geworfen, und ich kann nicht herausfinden, warum mein Code nicht gut funktioniert. Wie ich Java-Dokument lese, scheint es in der Syntax korrekt. Kann ich fragen, welcher Teil meines Codes fehlgeschlagen ist? weiter, einige der JSON Format Daten werden in Objekt vom Typ String
konvertiert, so muss ich auch überprüfen, ob die string
ist leer string
oder nicht. Gibt es einen einfachen Weg, es zu tun?