我正在尝试解析 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");
但它抛出异常类型java.lang.String无法转换为JSONObject
我做错了什么?
编辑
如果它对任何人都有帮助,我最终使用 GSON 以正确的预期格式获取我的 json,如下所示:
Gson gson = new Gson();
String json = gson.toJson(mylist);
最佳答案
您的 JSON 数组包含类似元素
"{caption=blah, url=/storage/emulated/0/DCIM/Camera/20140331_164648.jpg}"
这是一个String
而不是JSON对象。因此,您不能尝试将其作为 JSONObject
进行检索。
似乎您获得的 JSON 不在 format 中你期望的。即使你去掉了它周围的 ""
,它仍然不是有效的 JSON,所以我不明白它的目的足以帮助你。
关于java - JSON 异常字符串无法转换为 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22967953/