2012-11-05 154 views
0
{ 
    "Filters": [{ 
     "Decription": "Default", 
     "FieldSelected": { 
      "AppointmentDate": true, 
      "AppointmentDateOrder": 1    
      "ptStatusOrder": 3 
     }, 
     "FilterID": 1 
    }, { 
     "Decription": "chart", 
     "FieldSelected": { 
      "AppointmentDate": true, 
      "AppointmentDateOrder": 1,   
      "ptStatusOrder": 0 
     }, 
     "FilterID": 2 
    }] 
} 

我得到了这个结构的响应,我如何将它映射到我的POJO类。任何人都可以给这个json结构样品POJO类。我正在使用Gson作为请求和响应。将Json映射到POJO

+1

提示:这是一个对象,有'Lis '过滤器'的t''。 'Filter'包含三个属性'Description','FilterId'和另一个名为FieldSelected的对象。选中的字段可以视为“Map”。如果需要,你可以为FieldSelect写一个POJO。 'FieldSelect'有三个attrs'AppointmentDate','AppointmentDateOrder'和'ptStatusOrder' – Nishant

回答

1

只需将一个Json对象映射为Java类即可。而

您正在使用GSON库,导入你的POJO类SerializedName使对象作为一个列表的Array ..

一样,(只有伪代码)。

import com.google.gson.annotations.SerializedName; 

POJO类的样子,

public class Filter { 

    @SerializedName("Decription") // This requires same as your Json key 
    public String description; 
    @SerializedName("FieldSelected") // The Json Object of FieldSelected 
    public Field listDetails; 

} 

public class Field { 
    @SerializedName("ptStatusOrder") 
    public int status; 
    @SerializedName("AppointmentDateOrder") 
    public int dateOrder; 
    @SerializedName("AppointmentDate") 
    public boolean appDate; 
} 

及主要ListFileter类,

public class ListFilter { 

     @SerializedName("Filters") 
     public List<Filter> listFilter; 

    } 

而在Android的代码,

Gson gson = new Gson(); 
ListFilter listFilter = gson.fromJson(jsonResponse, ListFilter.class);