Nie mogę dowiedzieć się, jak określić, czy element wewnątrz tablicy json ma wartość NULL. Aby sprawdzić, czy sama JSONObject jest null, po prostu użyć:Jak sprawdzić, czy element JSONArray ma wartość null
jsonObject.isNullObject();
Ale gdy obiekt jest tablicą i chcę, aby sprawdzić, czy jeden z elementów tej tablicy jest null, to nie działa:
jsonArray.get(i).get("valueThatIsNull") == null;
Nie ma również dostępnej metody isNull dla elementów tablicy. Jak sprawdzić, czy wartości wewnątrz jsonarray są zerowe? Może pomóc wiedzieć, że omijam obiekt zerowy z javascript. Być może wartość null nie oznacza tego samego w java, gdy jest przekazywana z javascript w formacie json, ale próbowałem także umieścić nawiasy wokół wartości zerowej i nadal nie działa.
Zamieszczam aktualny kod źródłowy, aby uczynić to bardziej zrozumiałym. Obiekt jsonObject jest częścią jsonArray, a obiekt ma wiele wartości, ponieważ sam jest obiektem.
JSONObject mapItem = jsonArray.getJSONObject(i);
int id = mapItem.has("id") ? mapItem.getInt("id") : -1;
DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
java.util.Date date = null;
Date sqlDate = null;
if(mapItem.has("date")) {
String dateStr = mapItem.getString("date");
if(!dateStr.equals("null")) {
date = dateFormat.parse(mapItem.getString("date").substring(0, 10)); //Convert javascript date string to java.
sqlDate = new Date(date.getTime());
}