【问题标题】:Android JSONArray ExceptionAndroid JSONArray 异常
【发布时间】:2014-03-18 10:50:19
【问题描述】:

我有一个这样的 JSON:

{

- 0: {
    "title": "Title1",
    "content": "test"
},
 - 1: {
    "title": "Title2",
    "content": "test2"
}
}

所以我想在我的应用程序中恢复它,我有一个例外:

JSONArray jArray = new JSONArray(result);

我检查了“结果”是否包含我的JSON,确实如此。

当我在 logcat 中看到错误时,我只看到我的 JSON 的值......我有类似的东西:

org.json.JSONException and values of my JSON

有人可以帮我吗?

【问题讨论】:

  • 如果可能的话,您能否添加完整的 logcat 异常。

标签: android json exception


【解决方案1】:

{表示对象,如果json数据以{开头,那么它就是一个对象

[ 表示数组,如果 json 数据以 [ 开头,而不是数组

使用

JSONObject jObject = new JSONObject(result);

而不是

JSONArray jArray = new JSONArray(result);

对于一个简单的教程和学习访问

http://www.androidhive.info/2012/01/android-json-parsing-tutorial/

【讨论】:

  • 好的,我明白了,但我有一个问题,因为我没有带名称的 json 对象,我只有数字,而不是像你的例子那样的“联系人”。那么我怎样才能在 jObject 上做一段时间呢?
  • 请访问文档,您可以遍历数据并找出答案。您可以根据特定键获取对象。
【解决方案2】:

您发布的JSON 不是JSONArray,而是JSONObject,因此您必须更改为

JSONArray jArray = new JSONArray(result);

JSONObject jObject = new JSONObject(result);

【讨论】:

  • 哦,好的。但是现在,我该怎么做才能在 jObject 上做一个“while”?
  • 您仍然有可能获得一个包含所有键的迭代器,在该迭代器上运行一段时间并通过 optObject() 检索每个对象。我强烈建议您查看文档
【解决方案3】:

您可以获得一个易于理解的 json 编码和解析示例: Android JSON Tutorial: Create and Parse JSON data

JSON in Android - Tutorial

【讨论】:

    【解决方案4】:

    你得到了 Jsonobject 作为响应,你正试图获取 jsonaray,这就是你得到异常的原因。

    org.json.JSONException and values of my JSON
    

    【讨论】:

      猜你喜欢
      • 2014-05-16
      • 1970-01-01
      • 2014-02-10
      • 1970-01-01
      • 2018-06-11
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      相关资源
      最近更新 更多