2013-06-06 12 views
6

मैं JSONObject के लिए सर्वर का अनुरोध कर रहा हूं और इसमें कुछ आईडी की एक सूची है। यह एंड्रॉइड 4.2 के साथ ठीक काम कर रहा है लेकिन एंड्रॉइड 2.3 के साथ काम नहीं कर रहा है (डिवाइस और एमुलेटर दोनों पर परीक्षण किया गया है।)JSONObject एंड्रॉइड 2.3 के लिए काम नहीं कर रहा है लेकिन एंड्रॉइड 4.2 के साथ ठीक काम करता है, क्यों?

JSONObject निम्नानुसार है।

{"IdList":[{"id":"004502"},{"id":"S007901"},{"id":"041501"},{"id":"S139001"}]} 

यह 4.2 के साथ ठीक काम करता है, लेकिन 2.3 में NullPointerException दिखाता है।

मेरे LogCat इस प्रकार है:

org.json.JSONException: Value Nullpointer of type java.lang.String cannot be converted to JSONObject 
06-06 11:23:46.881: W/System.err(1820):  at org.json.JSON.typeMismatch(JSON.java:107) 
06-06 11:23:46.893: W/System.err(1820):  at org.json.JSONObject.<init>(JSONObject.java:158) 
06-06 11:23:46.893: W/System.err(1820):  at org.json.JSONObject.<init>(JSONObject.java:171) 
06-06 11:23:46.893: W/System.err(1820):  at my.Site.serverInterface.executeHttpRequest(serverInterface.java:128) 
06-06 11:23:46.893: W/System.err(1820):  at my.Site.serverInterface.getAtmId(serverInterface.java:54) 
06-06 11:23:46.901: W/System.err(1820):  at my.Site.TrackLocation$AtmGetter.doInBackground(TrackLocation.java:379) 
06-06 11:23:46.901: W/System.err(1820):  at android.os.AsyncTask$2.call(AsyncTask.java:185) 
06-06 11:23:46.901: W/System.err(1820):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
06-06 11:23:46.901: W/System.err(1820):  at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
06-06 11:23:46.901: W/System.err(1820):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 
06-06 11:23:46.901: W/System.err(1820):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 
06-06 11:23:46.901: W/System.err(1820):  at java.lang.Thread.run(Thread.java:1019) 
06-06 11:23:46.901: I/System.out(1820): null 
06-06 11:23:46.912: I/System.out(1820)://e 
06-06 11:23:46.912: W/System.err(1820): java.lang.NullPointerException 
06-06 11:23:46.912: W/System.err(1820):  at my.Site.TrackLocation$AtmGetter.doInBackground(TrackLocation.java:384) 
06-06 11:23:46.912: W/System.err(1820):  at android.os.AsyncTask$2.call(AsyncTask.java:185) 
06-06 11:23:46.912: W/System.err(1820):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
06-06 11:23:46.912: W/System.err(1820):  at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
06-06 11:23:46.912: W/System.err(1820):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 
06-06 11:23:46.912: W/System.err(1820):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 
06-06 11:23:46.912: W/System.err(1820):  at java.lang.Thread.run(Thread.java:1019) 
06-06 11:23:46.921: W/dalvikvm(1820): threadid=10: thread exiting with uncaught exception (group=0xb60c84f0) 
06-06 11:23:46.931: E/AndroidRuntime(1820): FATAL EXCEPTION: AsyncTask #3 
06-06 11:23:46.931: E/AndroidRuntime(1820): java.lang.RuntimeException: An error occured while executing doInBackground() 
06-06 11:23:46.931: E/AndroidRuntime(1820):  at android.os.AsyncTask$3.done(AsyncTask.java:200) 
06-06 11:23:46.931: E/AndroidRuntime(1820):  at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:274) 
06-06 11:23:46.931: E/AndroidRuntime(1820):  at java.util.concurrent.FutureTask.setException(FutureTask.java:125) 
06-06 11:23:46.931: E/AndroidRuntime(1820):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:308) 
06-06 11:23:46.931: E/AndroidRuntime(1820):  at java.util.concurrent.FutureTask.run(FutureTask.java:138) 
06-06 11:23:46.931: E/AndroidRuntime(1820):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088) 
06-06 11:23:46.931: E/AndroidRuntime(1820):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581) 
06-06 11:23:46.931: E/AndroidRuntime(1820):  at java.lang.Thread.run(Thread.java:1019) 
06-06 11:23:46.931: E/AndroidRuntime(1820): Caused by: java.lang.NullPointerException 
06-06 11:23:46.931: E/AndroidRuntime(1820):  at my.Site.TrackLocation$AtmGetter.doInBackground(TrackLocation.java:427) 
06-06 11:23:46.931: E/AndroidRuntime(1820):  at android.os.AsyncTask$2.call(AsyncTask.java:185) 
06-06 11:23:46.931: E/AndroidRuntime(1820):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306) 
06-06 11:23:46.931: E/AndroidRuntime(1820):  ... 4 more 
+0

जब आरंभ JSONObject यह शून्य रहता है में कुछ सुझाव हैं। –

+1

आप doinBackgroung विधि में NullPointerException प्राप्त कर रहे हैं। बेहतर आप पार्स विधि पर प्रारंभिक पार्स में जेसन प्रतिक्रिया मुद्रित करें। –

+0

@ वरुण विष्णोई और सुनील .. काम नहीं कर रहे हैं। –

उत्तर

0

org.json जार डाउनलोड करने और आयात करने के लिए json पुस्तकालय फ़ाइलें आयात। इसे 2.3 के लिए भी काम करना चाहिए।

देखें इस ..

JSON Parsing works on Android 4.0 but not on Android < 4.0

संबंधित मुद्दे