मुझे अपने सर्वर से JSON स्ट्रिंग वापस मिल रहा है, जो या तो ए हो सकता है JSONArray
या ए JSONObject
, और मुझे पहले से नहीं पता कि मुझे क्या मिलेगा (कम से कम कोड के उस हिस्से में नहीं)।
क्या इसे संभालने का कोई तरीका है? मेरा पहला अनुमान कुछ ऐसा करने का होगा:
if (jsonString.startsWith("[")) {
r = new JSONArray(jsonString);
} else {
r = new JSONObject(jsonString);
}
लेकिन यह थोड़ा "हैकिश" लगता है।
उत्तर:
जवाब के लिए 2 № 1कैसा रहेगा instanceof
साथ में JSONTokener?
Object unknownJSON = new JSONTokener(data).nextValue();
if (unknownJSON instanceof JSONObject)
// well, you know
else if (unknownJSON instanceof JSONArray)
// you should also know
जवाब के लिए 0 № 2
बहुत हैकिश लेकिन आप यह कोशिश कर सकते हैं
try {
JSONObject object = new JSONObject(jsonString);
// u received a json object
} catch (JSONException e) {
// you received a json array
JSONArray array = new JSONArray(jsonString);
}