No puedo averiguar cómo determinar si un elemento que vive dentro de una matriz json es nulo. Para comprobar si el propio JSONObject es nulo, sólo tiene que utilizar:Cómo comprobar si JSONArray Element es nulo
jsonObject.isNullObject();
Pero cuando el objeto es una matriz y quiero comprobar si uno de los elementos de dicha matriz es nulo, esto no funciona:
jsonArray.get(i).get("valueThatIsNull") == null;
Tampoco hay un método isNull disponible en los elementos de una matriz. ¿Cómo puedo verificar si los valores dentro de jsonarray son nulos? Podría ser útil saber que estoy pasando por alto un objeto nulo de javascript. Quizás null no significa lo mismo en java cuando se pasa de javascript en formato json, pero también he intentado poner paréntesis alrededor del nulo y todavía no funciona.
Estoy publicando un código fuente real para ayudar a aclarar esto. JsonObject es una parte de jsonArray y el objeto tiene múltiples valores porque iself es un objeto.
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());
}