【问题标题】:org.json.JSONException: Value [] of type org.json.JSONArray cannot be converted to JSONObjectorg.json.JSONException: org.json.JSONArray 类型的值 [] 无法转换为 JSONObject
【发布时间】:2013-06-13 09:54:15
【问题描述】:

我有一个正在运行的应用程序,但我的服务器有点问题,我还没有解决我的服务器问题,我在登录时遇到了这个问题,错误来自身份验证方法。错误说 jsonarray 不能被转换为 jsonobject 我已经为我的日志制作了一个过去的 bin,我希望有人可以看看它并告诉我我的问题是什么。我认为我的问题是我无法访问我的数据库,但我不确定它是否问题或我的问题是我的 json。我想不出办法来验证我的用户名和密码,而不会遇到像“在 org.json.JSON.typeMismatch(JSON.java:111)”这样的问题,这是我的粘贴箱 http://pastebin.com/zgzbxcSV

【问题讨论】:

  • 你得到的响应是什么 json 字符串?

标签: android


【解决方案1】:

您从服务器获得一个(可能是空的)json 数组,并尝试将其转换为 JsonObject。

而不是

JSONObject obj = new JSONObject(string);

你应该这样做

JSONArray obj = new JSONArray(string);

【讨论】:

  • 问题出在我的登录活动上。我认为这与我与服务器的连接有关?你认为我需要制作另一个 API,因为我的代码运行良好,直到我有我的服务器有问题。或者我应该重新编程我的登录活动建议将不胜感激,谢谢
  • 我将使用 AsyncTask、HttpUrlConnection 和 android json 库。这是一项简单的任务。还要检查服务器端是否发生了变化
  • 我尝试使用 JSONArray 进行此操作,但随后出现“pref_editor.putString("Name", result.getString("name"));”中的错误我需要把它变成一个正确的对象我怎样才能在 JSONArray 中制作它?
  • 你遇到了什么错误?可以发一下服务器的响应吗?
  • 没有错误我把 logcat 你检查了吗?我无法登录那是服务器的响应我想我无法进入服务器数据库?因为我知道我的用户名和密码是正确的,但我无法登录
【解决方案2】:

您正在尝试将 JsonObject 转换为 JsonArray,因此出现错误。

您必须根据您的要求转换正确的jsonObject to another object

你可以找到有用的demo 解释。

如果您在研究此演示后发现解析 json 遇到问题,请告诉我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 2017-01-03
    • 1970-01-01
    • 2013-12-13
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多