在Android JAVA中将JSONObject转换为JSONArray?

时间:2017-06-05 12:41:47

标签: android json

我正在尝试为ArrayAdapter准备JSON数据以添加到listView。

我从服务器中消化的JSON细分如下:

{
"friends": {
            "mufasa3": "false",
            "jenkins": "false"
           }
}

我将此JSON转换为java JSONObject,如:

try {
                JSONObject obj = new JSONObject(jsonDigest);

                Object thelist = obj.get("friends");

                }

            }catch(JSONException e){
                throw new RuntimeException(e);
            }

如何将Object thelist转换为数组,以便我可以将其与自定义ArrayAdapter一起使用? 我已经尝试JSONArray arr = obj.toJSONArray("friends");但是错误,因为JSONObject中没有现有的数组。

2 个答案:

答案 0 :(得分:1)

<强>不

  Object thelist = obj.get("friends");
  

我尝试过JSONArray arr = obj.toJSONArray(“朋友”);

为什么使用 toJSONArray ?那里没有 JSON ARRAY

<强>不要

 JSONObject sys  = obj.getJSONObject("friends");

<强>最后

JSONObject obj = new JSONObject(jsonDigest);
JSONObject sys  = obj.getJSONObject("friends");
String str_MUFA = sys.getString("mufasa3");
String str_JENK = sys.getString("jenkins");

答案 1 :(得分:0)

您可以迭代JSONObject中的所有键并将其添加到列表

List<String> friends=new ArrayList<>();

for(Iterator<String> iter = json.keys();iter.hasNext();) {
    String key = iter.next();
    friends.add(key);
    ...
}