当前位置: 首页 > 知识库问答 >
问题:

Android org.json.jsonArray无法转换为jsonobject错误

傅阳
2023-03-14

我是JSON的新手,但我尝试使用所有的答案,但都不起作用。请帮帮我,我做错了什么。

    protected void onPostExecute(String s) {
        super.onPostExecute(s);
        progressDialog.dismiss();
        editText.setText(s);
        try {
            JSONObject jsonObject = new JSONObject(s);
            JSONArray resultArray = jsonObject.getJSONArray("query");

            addresses = new ArrayList<String>();
            for (int i = 0; i<resultArray.length(); i++){
               addresses.add(resultArray.getJSONObject(i).getString("Name"));
                Log.d("DTA",resultArray.getJSONObject(i).getString("Name"));

            }
            refreshAdapter();
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}

}

我的JSON用于解析。

{  
  "query":{  
    "count":2,
    "created":"2016-10-04T19:50:08Z",
    "lang":"ru",
    "results":{  
      "rate":[  
        {  
          "id":"USDRUB",
          "Name":"USD/RUB",
          "Rate":"62.8240",
          "Date":"10/4/2016",
          "Time":"7:21pm",
          "Ask":"62.8416",
          "Bid":"62.8240"
        },
        {  
          "id":"EURRUB",
          "Name":"EUR/RUB",
          "Rate":"70.3460",
          "Date":"10/4/2016",
          "Time":"7:21pm",
          "Ask":"70.3740",
          "Bid":"70.3460"
        }
      ]
    }
  }
}

共有1个答案

拓拔稳
2023-03-14

这是因为query不是数组,而是对象。我想您想从rate中获取对象,这是如何做到的:

 try {
        JSONObject jsonObject = new JSONObject(s);
        JSONObject resultsObject = jsonObject.getJSONObject("results");
        JSONArray resultArray = resultsObject.getJSONArray("rate");
        ... etc... now iterate
 类似资料:
  • 问题内容: 在获取json数据时出现错误: JSONArray无法转换为JSONObject JSON生成代码: 在阅读上述json时遇到错误代码有什么问题吗? 问题答案: 更改 至 作为数据值的是JsonArray而不是JSONObject。 为了获取单个ID和字段名称,您应该遍历此JSONArray,如下所示:

  • 问题内容: 我是新手,但正在收到以下异常: 在try部分的第一行本身。 请帮助我删除它。这是我的代码: 这是我从我的php文件中获取的json 问题答案: 这个 应该 表示json数组节点 表示json对象节点

  • 我正在开发一个android应用程序,我正在尝试使用Volley库。我无法解决的问题是关于JSON的。我检查了我的php文件、结果和Java代码,但仍然得到相同的错误。 有趣的是,截击日志不显示错误消息,但日志显示错误消息。 和 这是我的PHP代码: 结果如下: 和我的Java代码: 我也听说了GSON。这是解决办法吗?有人能帮帮我吗?提前感谢!!

  • 我正在抛出一个JSON异常,我不知道为什么会抛出它。我已经看了几乎所有和我一样的问题,但我认为我的不同。因此,我从一个网页获得一个JSONArray,它发送的JSON是有效的(我用验证器检查了它)。在JSONArray上执行getJSONObject时引发异常。 这正是它所说的(个人信息被标出): 这是我的Java代码: 错误发生在我去的行: 任何帮助都非常感谢。