如何将JSONObjects转换为JSONArray?

Nic*_*hek 20 java arrays json

我有这样的回答:

{
 "songs":{
          "2562862600":{"id":"2562862600""pos":1},
          "2562862620":{"id":"2562862620""pos":1},
          "2562862604":{"id":"2562862604""pos":1},
          "2573433638":{"id":"2573433638""pos":1}
         }
 }
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

List<NameValuePair> param = new ArrayList<NameValuePair>();
JSONObject json = jParser.makeHttpRequest(url, "GET", param);

JSONObject songs= json.getJSONObject("songs");
Run Code Online (Sandbox Code Playgroud)

我如何转换"songs"为JSONArray?

nik*_*kis 43

像这样的东西:

JSONObject songs= json.getJSONObject("songs");
Iterator x = songs.keys();
JSONArray jsonArray = new JSONArray();

while (x.hasNext()){
    String key = (String) x.next();
    jsonArray.put(songs.get(key));
}
Run Code Online (Sandbox Code Playgroud)


ple*_*xus 7

甚至更短并且带有 json 函数:

JSONObject songsObject = json.getJSONObject("songs");
JSONArray songsArray = songsObject.toJSONArray(songsObject.names());
Run Code Online (Sandbox Code Playgroud)