org.json.JSONException:Valuef类型java.lang.String无法转换为JSONObject

时间:2017-05-28 19:50:58

标签: java php android json

所以我试图将JSONArray中的值转换为JSONObject但我不断收到此错误: org.json.JSONException:类型为java.lang.String的0的值Aamod Shoghi无法转换为JSONObject

JSONObject json = jParser.makeHttpRequest(url_all_resorts, "POST", params);
            Log.d("All Resorts : ", json.toString());
            // Checking for SUCCESS TAG
            int success = json.getInt(TAG_SUCCESS);

            if (success == 1) {
                // resorts found
                // Getting Array of resorts
                resorts = json.getJSONArray(TAG_RESORT);
                rates = json.getJSONArray(TAG_PRICE);

                int i;

                // looping through All resorts
                for (i = 0; i < resorts.length() & i < rates.length(); i++) {
                    JSONObject c = resorts.getJSONObject(i);
                    JSONObject d = rates.getJSONObject(i);

                    // Storing each json item in variable
                    String name = c.getString(TAG_NAME);
                    String price = d.getString(TAG_ROOM_PRICE);

                    // creating new HashMap
                    HashMap<String, String> map = new HashMap<String, String>();

                    // adding each child node to HashMap key => value
                    map.put(TAG_NAME, name);
                    map.put(TAG_ROOM_PRICE, price);

                    // adding HashList to ArrayList
                    resortsList.add(map);
                }

            }

JSON示例数据

{"resorts":["Aamod Shoghi","Aamod Shoghi","Aamod Shoghi"],"room_prices":["100","800","1000"],"success":1}

1 个答案:

答案 0 :(得分:1)

您的<% @booksearches.each do |booksearch| %><div><h3><%= link_to booksearch.title, booksearch %></h3></div> <% end %>resorts数组仅包含room_prices

使用:

strings

代替:

// Storing each json item in variable
String name = resorts.getString(i);
String price = rates.getString(i);

试试这个:

JSONObject c = resorts.getJSONObject(i);
JSONObject d = rates.getJSONObject(i);

// Storing each json item in variable
String name = c.getString(TAG_NAME);
String price = d.getString(TAG_ROOM_PRICE);