Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符串解析为JSONObject时出错-Android_Android_Json_String - Fatal编程技术网

将字符串解析为JSONObject时出错-Android

将字符串解析为JSONObject时出错-Android,android,json,string,Android,Json,String,嗨,我在获取由JSONobject组成的字符串并将其转换为JSON时遇到了一个错误。有时有效,有时无效。。。我不知道为什么 这是我的密码。我试图抓住一份请愿书的回复: public class DBupload { public JSONObject UploaData(ArrayList<NameValuePair> nvp, String url) { try { DefaultHttpClient client = new DefaultHttpCl

嗨,我在获取由JSONobject组成的字符串并将其转换为JSON时遇到了一个错误。有时有效,有时无效。。。我不知道为什么

这是我的密码。我试图抓住一份请愿书的回复:

public class DBupload {

public JSONObject UploaData(ArrayList<NameValuePair> nvp, String url) {
    try {

        DefaultHttpClient client = new DefaultHttpClient();
        HttpPost hpost = new HttpPost(url);
        hpost.setEntity(new UrlEncodedFormEntity(nvp));
        HttpResponse response = client.execute(hpost);

        HttpEntity entity = response.getEntity();
        InputStream is = entity.getContent();

        BufferedReader reader = new BufferedReader(new InputStreamReader(
                is, "iso-8859-1"), 8);
        StringBuilder sb = new StringBuilder();
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line + "\n");
        }
        is.close();
        String result = sb.toString();

        JSONObject jobject = new JSONObject(result);

        return jobject;

    } catch (Exception ex) {
        ex.printStackTrace();
        return null;
    }

}
它给了我这些错误:

> 07-10 16:33:34.225: W/System.err(13028): org.json.JSONException: Value Class of type java.lang.String cannot be converted to JSONObject
07-10 16:33:34.230: W/System.err(13028):    at org.json.JSON.typeMismatch(JSON.java:111)
07-10 16:33:34.230: W/System.err(13028):    at org.json.JSONObject.<init>(JSONObject.java:158)
07-10 16:33:34.230: W/System.err(13028):    at org.json.JSONObject.<init>(JSONObject.java:171)
07-10 16:33:34.230: W/System.err(13028):    at com.background.DBupload.UploaData(DBupload.java:39)
07-10 16:33:34.230: W/System.err(13028):    at com.extract.MyLocation.mostrarPosicion(MyLocation.java:107)
07-10 16:33:34.230: W/System.err(13028):    at com.extract.MyLocation$1.onLocationChanged(MyLocation.java:59)
07-10 16:33:34.230: W/System.err(13028):    at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:227)
07-10 16:33:34.230: W/System.err(13028):    at android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:160)
07-10 16:33:34.230: W/System.err(13028):    at android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:176)
07-10 16:33:34.230: W/System.err(13028):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-10 16:33:34.230: W/System.err(13028):    at android.os.Looper.loop(Looper.java:137)
07-10 16:33:34.230: W/System.err(13028):    at android.app.ActivityThread.main(ActivityThread.java:4507)
07-10 16:33:34.230: W/System.err(13028):    at java.lang.reflect.Method.invokeNative(Native Method)
07-10 16:33:34.230: W/System.err(13028):    at java.lang.reflect.Method.invoke(Method.java:511)
07-10 16:33:34.230: W/System.err(13028):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
07-10 16:33:34.230: W/System.err(13028):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
07-10 16:33:34.230: W/System.err(13028):    at dalvik.system.NativeStart.main(Native Method)
07-10 16:33:34.230: D/AndroidRuntime(13028): Shutting down VM
07-10 16:33:34.230: W/dalvikvm(13028): threadid=1: thread exiting with uncaught exception (group=0x40c341f8)
07-10 16:33:34.235: E/AndroidRuntime(13028): FATAL EXCEPTION: main
07-10 16:33:34.235: E/AndroidRuntime(13028): java.lang.NullPointerException
07-10 16:33:34.235: E/AndroidRuntime(13028):    at com.extract.MyLocation.mostrarPosicion(MyLocation.java:111)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at com.extract.MyLocation$1.onLocationChanged(MyLocation.java:59)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:227)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:160)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:176)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at android.os.Looper.loop(Looper.java:137)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at android.app.ActivityThread.main(ActivityThread.java:4507)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at java.lang.reflect.Method.invokeNative(Native Method)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at java.lang.reflect.Method.invoke(Method.java:511)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at dalvik.system.NativeStart.main(Native Method)
>07-10 16:33:34.225:W/System.err(13028):org.json.JSONException:java.lang.String类型的值类无法转换为JSONObject
07-10 16:33:34.230:W/System.err(13028):位于org.json.json.typemissmatch(json.java:111)
07-10 16:33:34.230:W/System.err(13028):位于org.json.JSONObject.(JSONObject.java:158)
07-10 16:33:34.230:W/System.err(13028):位于org.json.JSONObject.(JSONObject.java:171)
07-10 16:33:34.230:W/System.err(13028):位于com.background.DBupload.UploaData(DBupload.java:39)
07-10 16:33:34.230:W/System.err(13028):位于com.extract.MyLocation.mostrarposision(MyLocation.java:107)
07-10 16:33:34.230:W/System.err(13028):在com.extract.MyLocation$1.onLocationChanged(MyLocation.java:59)
07-10 16:33:34.230:W/System.err(13028):在android.location.LocationManager$ListenerTransport.\u handleMessage(LocationManager.java:227)
07-10 16:33:34.230:W/System.err(13028):在android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:160)
07-10 16:33:34.230:W/System.err(13028):在android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:176)
07-10 16:33:34.230:W/System.err(13028):位于android.os.Handler.dispatchMessage(Handler.java:99)
07-10 16:33:34.230:W/System.err(13028):在android.os.Looper.loop(Looper.java:137)
07-10 16:33:34.230:W/System.err(13028):位于android.app.ActivityThread.main(ActivityThread.java:4507)
07-10 16:33:34.230:W/System.err(13028):位于java.lang.reflect.Method.invokenactive(本机方法)
07-10 16:33:34.230:W/System.err(13028):位于java.lang.reflect.Method.invoke(Method.java:511)
07-10 16:33:34.230:W/System.err(13028):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
07-10 16:33:34.230:W/System.err(13028):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
07-10 16:33:34.230:W/System.err(13028):在dalvik.System.NativeStart.main(本机方法)
07-10 16:33:34.230:D/AndroidRuntime(13028):关闭虚拟机
07-10 16:33:34.230:W/dalvikvm(13028):threadid=1:线程以未捕获异常退出(组=0x40c341f8)
07-10 16:33:34.235:E/AndroidRuntime(13028):致命异常:主
07-10 16:33:34.235:E/AndroidRuntime(13028):java.lang.NullPointerException
07-10 16:33:34.235:E/AndroidRuntime(13028):在com.extract.MyLocation.mostrarposision(MyLocation.java:111)上
07-10 16:33:34.235:E/AndroidRuntime(13028):在com.extract.MyLocation$1.onLocation更改(MyLocation.java:59)
07-10 16:33:34.235:E/AndroidRuntime(13028):在android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:227)
07-10 16:33:34.235:E/AndroidRuntime(13028):在android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:160)
07-10 16:33:34.235:E/AndroidRuntime(13028):在android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:176)
07-10 16:33:34.235:E/AndroidRuntime(13028):在android.os.Handler.dispatchMessage(Handler.java:99)上
07-10 16:33:34.235:E/AndroidRuntime(13028):在android.os.Looper.loop(Looper.java:137)
07-10 16:33:34.235:E/AndroidRuntime(13028):在android.app.ActivityThread.main(ActivityThread.java:4507)上
07-10 16:33:34.235:E/AndroidRuntime(13028):位于java.lang.reflect.Method.Invokenactive(本机方法)
07-10 16:33:34.235:E/AndroidRuntime(13028):在java.lang.reflect.Method.invoke(Method.java:511)
07-10 16:33:34.235:E/AndroidRuntime(13028):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
07-10 16:33:34.235:E/AndroidRuntime(13028):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
7-10 16:33:34.235:E/AndroidRuntime(13028):在dalvik.system.NativeStart.main(本机方法)


我建议您输出结果变量 当它引发一个错误时,看看它到底是什么。
我建议您输出
result
-变量,以查看它在引发错误时的实际情况。我支持@ninetwozero的建议,我认为结果不包含有效的JSONTANKS@ninetwozero错误内容:)我添加了一个答案,以便您可以接受并关闭它。:)
> 07-10 16:33:34.225: W/System.err(13028): org.json.JSONException: Value Class of type java.lang.String cannot be converted to JSONObject
07-10 16:33:34.230: W/System.err(13028):    at org.json.JSON.typeMismatch(JSON.java:111)
07-10 16:33:34.230: W/System.err(13028):    at org.json.JSONObject.<init>(JSONObject.java:158)
07-10 16:33:34.230: W/System.err(13028):    at org.json.JSONObject.<init>(JSONObject.java:171)
07-10 16:33:34.230: W/System.err(13028):    at com.background.DBupload.UploaData(DBupload.java:39)
07-10 16:33:34.230: W/System.err(13028):    at com.extract.MyLocation.mostrarPosicion(MyLocation.java:107)
07-10 16:33:34.230: W/System.err(13028):    at com.extract.MyLocation$1.onLocationChanged(MyLocation.java:59)
07-10 16:33:34.230: W/System.err(13028):    at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:227)
07-10 16:33:34.230: W/System.err(13028):    at android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:160)
07-10 16:33:34.230: W/System.err(13028):    at android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:176)
07-10 16:33:34.230: W/System.err(13028):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-10 16:33:34.230: W/System.err(13028):    at android.os.Looper.loop(Looper.java:137)
07-10 16:33:34.230: W/System.err(13028):    at android.app.ActivityThread.main(ActivityThread.java:4507)
07-10 16:33:34.230: W/System.err(13028):    at java.lang.reflect.Method.invokeNative(Native Method)
07-10 16:33:34.230: W/System.err(13028):    at java.lang.reflect.Method.invoke(Method.java:511)
07-10 16:33:34.230: W/System.err(13028):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
07-10 16:33:34.230: W/System.err(13028):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
07-10 16:33:34.230: W/System.err(13028):    at dalvik.system.NativeStart.main(Native Method)
07-10 16:33:34.230: D/AndroidRuntime(13028): Shutting down VM
07-10 16:33:34.230: W/dalvikvm(13028): threadid=1: thread exiting with uncaught exception (group=0x40c341f8)
07-10 16:33:34.235: E/AndroidRuntime(13028): FATAL EXCEPTION: main
07-10 16:33:34.235: E/AndroidRuntime(13028): java.lang.NullPointerException
07-10 16:33:34.235: E/AndroidRuntime(13028):    at com.extract.MyLocation.mostrarPosicion(MyLocation.java:111)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at com.extract.MyLocation$1.onLocationChanged(MyLocation.java:59)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:227)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:160)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:176)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at android.os.Handler.dispatchMessage(Handler.java:99)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at android.os.Looper.loop(Looper.java:137)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at android.app.ActivityThread.main(ActivityThread.java:4507)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at java.lang.reflect.Method.invokeNative(Native Method)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at java.lang.reflect.Method.invoke(Method.java:511)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
07-10 16:33:34.235: E/AndroidRuntime(13028):    at dalvik.system.NativeStart.main(Native Method)
<exported from="comments">
    I'd recommend you do an output of the result-variable 
    to see what it actually is when it sparks an error.
</exported>