2012-06-25 2 views
0

Возможный дубликат:
JSON Parsing in Androidсинтаксического анализа JSON в андроида

Как я узнаю, что мне нужно использовать класс Gson для разбора JSON в объект Java в Android. Это довольно легко разобрать простые varables или массив, но я не знаю, как разобрать более сложную строку JSON, мой JSON выглядеть следующим образом:

{"selected_id":3, "data":[{"id":"3","score":"1534"},{"id":"1","score":"1234"}]} 

Может кто-нибудь помочь мне, как это сделать?

+0

Напомним, что {} является JSONObjects, и [] является JSONArrays. Это просто вопрос понимания структуры JSON, а затем извлечение из нее различных массивов/объектов. – DecodeGnome

+0

Я использую эту решетку [tutorial] (http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html), чтобы узнать, как работать с Gson, надеюсь, что это также поможет вам:) –

ответ

1
 //Model class 

    class Model { 

     private String mId ; 
      private String mScore; 

     public Model (String id , String score){ 

      mId = id ; 
      mScore= score 
     } 


     //getter and setter 

    } 

// в классе

private ArrayLsit getLsit(String str){ 
     ArrayLsit<Model > list = new ArrayLsit<Model>(); 

     // getting JSON string from URL 
     JSONObject json = new JSONObject(str); 

     try { 
      // Getting Array of Contacts 
      contacts = json.getJSONArray("data"); 

      // looping through All Contacts 
      for(int i = 0; i < contacts.length(); i++){ 
       JSONObject c = contacts.getJSONObject(i); 

       // Storing each json item in variable 
       String id = c.getString("id"); 
       String score= c.getString("score"); 
       list.add(new Model(id ,score)) 

      } 
     } catch (JSONException e) { 
      e.printStackTrace(); 
     } 

    return list 

} 
+0

спасибо большое, отлично работает :) – krinn

+0

Всегда приветствую ........ :) –

0

Заканчивать код ..

 Result = jsonObject.getString("data"); 

     jsonArray = new JSONArray(Result); 
     for (int i = 0; i < jsonArray.length(); i++) { 
      jsonObject = jsonArray.getJSONObject(i); 
      try { 
       jsonObject.getString("Id"); 

      } catch (Exception ex) { 
       cafeandbarsList.add(null); 
       ex.printStackTrace(); 
      } 
     } 

Благодаря

0

создать в классе для JSON,

Gson gson = новый Gson(); Jsondata jsonddata = gson.fromJson (ответ, Jsondata .class);

===== JsonData.jave

@SerializedName("selected_id") 
public String sid; 

    @SerializedName("data") 
public List<data> dalalist; 

=== data.java

@SerializedName("id") 
public String id; 

    @SerializedName("score") 
public String score; 
Смежные вопросы