首页 > 解决方案 > 0 处的值无法转换为 JSON 对象

问题描述

我正在从 读取字符串数据SharedPreference。我的字符串的格式是

[{
    "name": "sdf",
    "phone": "2356235623",
    "no_people": "2"
}]

我想阅读此中JSONobjects 的所有内容JSONArray。所以我将此字符串转换为 JSON 数组

String tempData = addqueuetemp.getString("tempdata", "");
JSONArray cacheTemp=new JSONArray(tempData);

现在我将这个 JSON 数组解析为

 JSONArray cacheTemp=new JSONArray(tempQueue);
        for(int i=0;i<cacheTempQueue.length();i++){
            JSONObject tempObject=cacheTemp.getJSONObject(i);
            CurrentStatusEntry tempEntry=new CurrentStatusEntry();
            tempEntry.setName(tempObject.getString("name");
            current.add(tempEntry);
            adapter = new QueueAdapter(current, getActivity().getApplicationContext());
            recyclerView.setAdapter(adapter);
        }  

但我收到错误

org.json.JSONException: Value {"name":"sdf","phone":"2356235623","no_people":"2"} at 0 of type java.lang.String cannot be converted to JSONObject

如何解决这个问题?

标签: androidarrayssharedpreferencesandroid-json

解决方案


用这个

JSONArray cacheTemp=new JSONArray(tempQueue);
    for(int i=0;i<cacheTemp.length();i++){
        JSONObject tempObject=cacheTemp.getJSONObject(i);
        CurrentStatusEntry tempEntry=new CurrentStatusEntry();
        tempEntry.setName(tempObject.getString("name");
        current.add(tempEntry);
        adapter = new QueueAdapter(current, getActivity().getApplicationContext());
        recyclerView.setAdapter(adapter);
    }  

推荐阅读