【问题标题】:Error in JSON Parser (NullPointerException) [duplicate]JSON解析器中的错误(NullPointerException)[重复]
【发布时间】:2016-04-21 12:59:49
【问题描述】:

我是 android 编程新手,正在开发一个简单的应用程序,它必须执行 POST 和 GET 操作。我有一个 JSON 解析器类,它创建一个 http 请求,但我不断收到“GET”错误。我现在花了一些时间尝试调试它,并且我已经重写了几次代码(我也在 SO 上找到了类似的线程,但建议的解决方案对我不起作用),但我仍然无法弄清楚出了什么问题,因为我不断收到同样的错误。

【问题讨论】:

  • 如果您使用浏览器或其他程序向同一个 URL 发送 GET 请求,您会得到格式正确的 JSON 吗?
  • 你用POST方法试过了吗??
  • 首先检查你的链接,它是否给出了正确的响应?
  • 我还没有尝试过 POST 方法,因为我想先修复 GET... 是的,url 可以正常工作! ://

标签: java android json parsing


【解决方案1】:

你需要使用.equals而不是==来比较Java中的字符串所以你需要转换:

if(method == "GET")

到:

if(method.equals("GET"))

【讨论】:

  • 谢谢!不幸的是,这并没有解决问题 - 我仍然遇到同样的错误:/
  • @eee 你是怎么调用 makeHttpRequest 的?
  • @eee 也在您的 switch(status) 块中,如果有另一个常见错误,例如 (404, 500 , ...),那么当您尝试解析时,json 字符串将为 ""它,你会得到一个错误
  • 谢谢,真的,我没想到,我现在已经删除了 switch 语句,并将它的内容移动到另一个 try/catch 语句中。我已经编辑了 OP,所以它现在包含方法的调用。
  • @eee 请更新您的 makeHttpRequest 以反映您的最新更改
【解决方案2】:

正如 Pooya 所说,您需要使用“.equals”。

此外,为了避免一些空指针,您可以反转检查

if("GET".equals(method))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多