将字符串转换为 JSON 数组的问题
在尝试将 Web 服务中的 JSON 字符串解析为 JSON 数组时,Android开发人员遇到类型不匹配异常。提供的 JSON 字符串有效,并且使用了以下代码:
JSONArray jsonArray = new JSONArray(readlocationFeed);
解决方案
问题在于所创建的 JSON 对象的类型。接收到的JSON实际上是一个JSON对象,而不是一个数组。要解决此问题,应按如下方式修改代码:
JSONObject jsonObject = new JSONObject(readlocationFeed); JSONArray jsonArray = jsonObject.getJSONArray("locations");
这将从 JSON 字符串创建一个 JSONObject,然后从中检索“locations”数组。然后可以迭代该数组以访问各个位置对象。这是修改后的代码:
JSONObject jsonObject = new JSONObject(readlocationFeed); JSONArray jsonArray = jsonObject.getJSONArray("locations"); for (int i = 0; i < jsonArray.length(); i++) { JSONObject locationObject = jsonArray.getJSONObject(i); }
以上是为什么我的字符串到 JSONArray 转换在 Android 中失败,如何修复?的详细内容。更多信息请关注PHP中文网其他相关文章!