मैं यह नहीं समझ सकता कि एक जेसन सरणी के अंदर रहने वाला तत्व शून्य है। यदि JSONObject ही रिक्त है की जाँच करने के लिए, आप बस का उपयोग करें:जांचें कि JSONArray Element शून्य है
jsonObject.isNullObject();
लेकिन जब वस्तु एक सरणी है और मैं अगर है कि सरणी के तत्वों में से एक रिक्त है जाँच करना चाहते हैं, यह काम नहीं करता:
jsonArray.get(i).get("valueThatIsNull") == null;
कोई सरणी तत्वों पर उपलब्ध नहीं है। मैं कैसे जांचूं कि jsonarray के अंदर मान शून्य हैं या नहीं? यह जानने में मदद कर सकता है कि मैं जावास्क्रिप्ट से एक शून्य वस्तु से गुजर रहा हूं। शायद शून्य में जावा में एक ही चीज़ का मतलब नहीं है जब इसे जेसन प्रारूप में जावास्क्रिप्ट से पारित किया जाता है, लेकिन मैंने नल के चारों ओर कोष्ठक डालने का भी प्रयास किया है और यह अभी भी काम नहीं करता है।
मैं इस स्पष्ट बनाने में सहायता के लिए कुछ वास्तविक स्रोत कोड पोस्ट कर रहा हूं। 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());
}