/ / JSON को पार्स कैसे करें जो या तो ऑब्जेक्ट या एरे हो सकता है? - Android, json

JSON का विश्लेषण कैसे करें जो या तो ऑब्जेक्ट या सरणी हो सकता है? - एंड्रॉइड, जेसन

मुझे अपने सर्वर से 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);
}