java - 无法解析 JSON 数据

标签 java android json

我正在开发一个安卓项目。我在从服务器检索的 JSON 数据解析方面需要帮助:

{"item_name":["Navnita","Navnita","Navnita"],"username":["James","John","Jenny"],"review":["Its a relly nice restaurant for Vegetarians! :)","Cool!","Food is just great!"]}

我只想用 "username" 和他的 "review" 填充 RecyclerView。 现在我正在使用下面的代码来解析 JSON 数据并填充一个 arrayList,它又填充 RecyclerView 但它给了我错误(下面的 logcat):

String result ....;
           JSONObject jObject = new JSONObject(result);
            JSONArray usernameJsonArray =  jObject.getJSONArray("username");
            JSONArray reviewJsonArray = jObject.getJSONArray("review");
            for(int i=0;i<usernameJsonArray.length();i++){
                String username = usernameJsonArray.getJSONObject(i).toString();
                String review = reviewJsonArray.getJSONObject(i).toString();
                getReviewFeedItemsArrayList.add(new GetReviewFeedItems(username,review));
            }

我认为问题出在上面的代码上,但我无法弄清楚。这是日志:

09-19 14:33:24.295  30572-30646/app.usrete.jayant.delvemitt W/System.err﹕ org.json.JSONException: Value James at 0 of type java.lang.String cannot be converted to JSONObject
09-19 14:33:24.305  30572-30646/app.usrete.jayant.delvemitt W/System.err﹕ at org.json.JSON.typeMismatch(JSON.java:100)
09-19 14:33:24.305  30572-30646/app.usrete.jayant.delvemitt W/System.err﹕ at org.json.JSONArray.getJSONObject(JSONArray.java:484)

最佳答案

直接写在你的for循环中

String username=usernameJsonArray.getString(i);

你的内部数据不是 JsonObject 它只是字符串

关于java - 无法解析 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32666531/

相关文章:

php - 使用 PHP 将目录结构(字符串)解析为 JSON

java - 递归 XML 解析器

java - 让元素粘在java中的数组中(模拟书店项目)

android - 插入的行 ID 大于表中的所有条目

Java/Android 更改由对象 ArrayList 填充的 ListView 中的数据

android - 日本字符在 Android TextView 和按钮中显示奇怪的间距

ios - 将复杂的 NSObject 序列化为 JSON 模式

java - 使用匿名类有什么害处?

java - 用户输入由空格分隔的整数

javascript - Mustache.js 转义 "/"