Kaip konvertuoti JSONObjects į JSONArray?

Turiu atsakymą

 { "songs":{ "2562862600":{"id":"2562862600""pos":1}, "2562862620":{"id":"2562862620""pos":1}, "2562862604":{"id":"2562862604""pos":1}, "2573433638":{"id":"2573433638""pos":1} } } 

Čia yra mano kodas

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

Kaip konvertuoti dainas į JSONArray?

18
27 марта '14 в 15:32 2014-03-27 15:32 Nickas Unuchekas paklausiamas kovo 27 d. 14 val. 15:32 2014-03-27 15:32
@ 3 atsakymai

Kažkas panašaus:

 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)); } 
39
27 марта '14 в 15:36 2014-03-27 15:36 atsakymą pateikė nikis kovo 27 d. 14 val. 15:36 2014-03-27 15:36

Jūsų atsakymas turi būti kažkas panašaus į Json Array.

 { "songs":[ {"2562862600": {"id":"2562862600", "pos":1}}, {"2562862620": {"id":"2562862620", "pos":1}}, {"2562862604": {"id":"2562862604", "pos":1}}, {"2573433638": {"id":"2573433638", "pos":1}} ] } 
border=0

Savo atsakymą galite analizuoti taip.

 String resp = ...//String output from your source JSONObject ob = new JSONObject(resp); JSONArray arr = ob.getJSONArray("songs"); for(int i=0; i<arr.length(); i++){ JSONObject o = arr.getJSONObject(i); System.out.println(o); } 
2
27 марта '14 в 15:59 2014-03-27 15:59 atsakymą pateikė vartotojo3467480 kovo 27 d. 14, 15:59 2014-03-27 15:59

Jei norite deserialiuoti atsakymą, turite naudoti „ HashMap :

 String resp = ...//String output from your source Gson gson = new GsonBuilder().create(); gson.fromJson(resp,TheResponse.class); class TheResponse{ HashMap<String,Song> songs; } class Song{ String id; String pos; } 
0
05 окт. Nick Unuchek atsakymas spalio 5 d 2017-10-05 16:09 '17, 16:09 pm 2017-10-05 16:09