天天看点

java判断jsonobject是否为空_如何检查JSONArray元素是否为空

我无法弄清楚如何确定是否存在于json数组内的元素为null。要检查的JSONObject本身为空,您只需使用:如何检查JSONArray元素是否为空

jsonObject.isNullObject();

但是当对象是一个数组,我要检查如果数组中的元素之一为null,这不起作用:

jsonArray.get(i).get("valueThatIsNull") == null;

在数组的元素上也没有isNull方法可用。如何检查jsonarray中的值是否为空?它可能有助于知道我正在从JavaScript传递一个空对象。也许null在json格式的javascript中传递的时候并不意味着同样的事情,但是我也试着把null放在括号内,它仍然不起作用。

我发布了一些实际的源代码来帮助使这个更清晰。 jsonObject是jsonArray的一部分,并且该对象具有多个值,因为它是一个对象。

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());

}

2012-09-03

ryandlf