java - 解析 JSON 数据时出现异常

标签 java android json android-json

我正在解析此链接中的 JSON 数据:

http://twyst.in/api/v1/near/30/30

由于数据太大,我在这里只发布(问题)相关数据:

{ "info": "[{\" socket \":{\"__v\":1,\"_id\":\"5316d59326b019ee59000026\",\"照片\":[],\"twyst_meta\":{\“recommend_list\”:[],\“评论\”:[]},\“outlet_meta\”:{\“链接\”:[],\“状态\”:\“活跃\”,\“帐户\":[\"531574eeae738d654c00000a\",\"535a1a1e827651ca03000122\"]},\"属性\":{\"dine_in\":true,\"户外\":true,\"空调\":\"否可用\"、\" parking 位\":\"可用\"、\"预订\":\"不需要\"、\"wifi\":\"不可用\"、\"标签\":[\"披萨\"、\"意大利面\"、\"意大利\"、\"Galleria\"、\"DLF 第 4 阶段\"]、\"payment_options\":[\"现金\"、\"amex\",\"签证\",\"大师\"],\"美食\":[\"意大利\",\"披萨\",\"冰淇淋\"],\"时间\":\"上午11点- 晚上 11 点\",\"cost_for_two\":{\"min\":3,\"max\":4}},\"links\":{\"other_urls\":[],\"youtube_url\":\"\"、\"twitter_url\":\"\"、\"facebook_url\":\"https://www.facebook.com/pages/Crusty-gourmet-pizza-more/390843954384130\",\"website_url\":\"\"},\"联系人\":{\"电子邮件\":{\"电子邮件\":\"bob_nugent56@yahoo.com\",\"人员\":\"\"},\"电话\":{\"号码\":\"\",\"固定电话\":\"02355156616\",\"reg_mobile\":[{\"_id\":\"4639320000e4532779b17de7\",\"num\":\"9134000410\"}

这不是 JSON 数据的结束,它还在继续......

但是当执行以下代码行时,我收到一个 JSONException。 e.printStackTrace() 方法告诉我存在 typeMismatch 错误。

       JSONObject object = new JSONObject(str);        //1
       JSONArray array = object.getJSONArray("info");  //2 

我尝试用以下代码替换第 2 行:

      JSONObject newObject = object.getJSONObject("info");

但是我在这里也遇到了同样的问题。

我检查了完整的数据,正确无误,没有语法错误。 有人可以帮我解决这个问题吗? JSONArray 开始之前存在双引号可能是此问题的根源吗?

谢谢。

最佳答案

info 不是数组或对象。它是一个字符串,恰好包含另一个数组的 JSON 编码表示形式。您必须获取该字符串并通过第二次 JSON 解码传递运行它:

JSONArray array = new JSONArray(object.getString("info"));

关于java - 解析 JSON 数据时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23846926/

相关文章:

java - 如何使用 Java Swing 制作动画数字计数器?

android - 每次单击接受按钮时,我都想将 ArrayList 存储到离线存储中,并在重新打开应用程序时检索它

javascript - 为什么我一直收到错误 s is not defined?

json - 如何将多个 JSON 对象保存到 couchdb 中?或者为什么 couchdb 不接受 JSON 中的外括号?

java - Android 中的异常 "Illegal character in query at index -"

java - 为什么这个转换会出错呢?

java - 我尝试制作 ListView 并从字符串中获取数据,但出现此错误

java - 需要反序列化 json 格式的帮助

android - Phonegap 3.3 和 minSdkVersion=8 变为 minSdkVersion=10

javascript - AJAX:问题未呈现到浏览器