JSON异常String无法转换为JSON Object

时间:2014-04-09 15:59:50

标签: java android

我正在尝试解析json并遇到一个小问题。

我的json字符串如下所示:

String json =
    [
        "{caption=blah, url=/storage/emulated/0/DCIM/Camera/20140331_164648.jpg}",
        "{caption=adsf, url=/storage/emulated/0/DCIM/Camera/20140330_103412.jpg}"
    ]

我的代码到目前为止看起来像这样:

try {
JSONArray jsonObj = new JSONArray(json);

for (int i = 0; i < jsonObj.length(); i++) {
    JSONObject c = jsonObj.getJSONObject(i);



    String img = c.getString("url");
    String cap = c.getString("caption");

但它抛出异常type java.lang.String cannot be converted to JSONObject

我做错了什么?

修改

如果它对任何人都有帮助,我最终使用GSON以正确的预期格式获取我的json:

Gson gson = new Gson();
String json = gson.toJson(mylist);

1 个答案:

答案 0 :(得分:3)

您的JSON数组包含

等元素
"{caption=blah, url=/storage/emulated/0/DCIM/Camera/20140331_164648.jpg}"

这是String而不是JSON对象。因此,您无法尝试将其检索为JSONObject

好像你得到的JSON不在你期望的format中。即使你摆脱它周围的"",它仍然不是有效的JSON,所以我不明白它的目的足以帮助你。