当前位置: 首页 > 面试题库 >

在Android中的AsynTask中解析json时出错

赫连琦
2023-03-14
问题内容

我有一个AsynTask,尝试检索json并解析它,但出现此错误:

03-21 11:38:07.033: E/AndroidRuntime(8439): FATAL EXCEPTION: main
03-21 11:38:07.033: E/AndroidRuntime(8439): java.lang.NullPointerException
03-21 11:38:07.033: E/AndroidRuntime(8439):     at org.json.JSONTokener.nextCleanInternal(JSONTokener.java:116)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at org.json.JSONTokener.nextValue(JSONTokener.java:94)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at org.json.JSONObject.<init>(JSONObject.java:154)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at org.json.JSONObject.<init>(JSONObject.java:171)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at Dic.proj.pkg.notifService.parse_if_update(notifService.java:191)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at Dic.proj.pkg.notifService$1$1$1.onPostExecute(notifService.java:153)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at Dic.proj.pkg.notifService$1$1$1.onPostExecute(notifService.java:1)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at android.os.AsyncTask.finish(AsyncTask.java:631)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at android.os.AsyncTask.access$600(AsyncTask.java:177)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at android.os.Looper.loop(Looper.java:137)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at android.app.ActivityThread.main(ActivityThread.java:4921)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at java.lang.reflect.Method.invokeNative(Native Method)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at java.lang.reflect.Method.invoke(Method.java:511)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1027)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:794)
03-21 11:38:07.033: E/AndroidRuntime(8439):     at dalvik.system.NativeStart.main(Native Method)

这是我的parse_if_update功能:

public static String parse_if_update(String jsonResponse) {
    String update="no";

    try {
        JSONObject json = new JSONObject(jsonResponse);
        update = json.getString("update");
    } catch (JSONException e) {
        e.printStackTrace();
    }

    if(update == null){
        update="no";
    }
    return update;
}

怎么了?我花了两天时间来解决这个问题。有时我会遇到空值,但我不知道如何使用它们。


问题答案:

添加与null测试不同的简单方法。

public static String parse_if_update(String jsonResponse) {
String update="no";

    if (jsonResponse != null) {    
        try {
                JSONObject json = new JSONObject(jsonResponse);
                if (json != null) { 
                    update = json.getString("update");
                }
        } catch (JSONException e) {
            e.printStackTrace();
        }

        if(update == null){
            update="no";
        }
    }
    return update;
}

那你还有问题吗?



 类似资料:
  • 我尝试了不同的方法在Android中解析JSON文件,但在打印出来时出现了错误。 这是我的整个JSON文件: 以下是我为使其正常工作而实现的代码: 这是onPostExecute方法: 我已经从这个网站的帮助来布局我的功能:https://www.androidhive.info/2012/01/android-json-parsing-tutorial/

  • 问题内容: 我在Android的JSON解析中进行了很多搜索,但并不太确定。关于JSON解析,实际上有一个简短的想法,但还不清楚。 如何在应用程序中实现JSON解析? 问题答案: 这是一个非常简单的JSON字符串 为了得到它的值,使用像这样: 这是一个稍微复杂的json字符串 为了从此用途中提取值 希望这个对你有帮助...........

  • Hi iv'e刚刚启动了一个新应用程序,现在正在按照解析快速入门指南在此项目中设置解析。一切正常,直到我将此代码放入我的build.gradle: 然后,当我尝试运行我的应用程序时,我在gradle控制台中收到以下消息: *AGPBI: {"kind":"simple "," text ":"意外的顶级异常:"," sources ":[{ }]} AGP bi:{ " kind ":" simp

  • 问题内容: 我最近将REST API升级为使用jersey 2.x,现在我无法以以前的方式检索JSON主体参数,因此不再调用这些方法。我的猜测是我缺少将JSON解析为java对象的依赖项,但是我不太确定我需要添加什么,任何帮助都值得赞赏。 pom.xml REST方式 FollowUserBean.java 问题答案: 您需要一个JSON提供程序 在撰写本文时,Jersey 2.x与以下模块集成以

  • 问题内容: 我有JSON对象,如下所示: 我想在android中解析数据并将其存储到数据库中,但是我在Jsonobject中感到困惑,谢谢 问题答案: 以下是用于解析json字符串的代码段代码。请经历一下:

  • 问题内容: 我有一个json对象是这样的: 我试图这样解析: 但是我不知道如何访问动态名称。我们如何解析这样的JSON -注意-Ya的 所有值都带有引号,例如:“ Yg&R_” 问题答案: 试试这个动态的JSON解析器