Error parsing data org.json.JSONException: Value get_all_products.php of type java.lang.String cannot be converted to JSONObject
बताता है कि वेब सेवा से आने वाले आपके रिस्पॉन्स में आपके पास वैध जेसन स्ट्रिंग नहीं है। इसके कारण jObj = isValidJson(json);
कोई जेसन ऑब्जेक्ट नहीं लौटाता है।
आपके उपरोक्त कोड में,
. परjson = sb.toString();
आप जोंस नाम की स्ट्रिंग बना रहे हैं और उसे स्ट्रिंग बिल्डर ऑब्जेक्ट वैल्यू असाइन कर रहे हैं। लेकिन आप लॉगकैट कहते हैं कि आपको नीचे की पंक्ति में वैध जेसन स्ट्रिंग नहीं मिल रही है,
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
तो यह जेसन स्ट्रिंग को पार्स करने के बारे में त्रुटि फेंकता है। इस मामले में आपको यह जांचना होगा कि क्या आप प्रतिक्रिया में सर्वर से वैध जेसन स्ट्रिंग नहीं जाते हैं। उपरोक्त कोड में कुछ बदलाव करें:
public boolean isValidJson(String test)
{
try {
new JSONObject(test);
return true;
} catch(JSONException ex) {
return false;
}
}
और, आपके कोड में:
try {
if(isValidJson(json)
{
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
}