Dro*_*eer 1 parsing android json list gson
如何使用谷歌Gson在Json Response下解析.?
{
"rootobject":[
{
"id":"7",
"name":"PP-1",
"subtitle":"name-I",
"key1":"punjab",
"key12":"2013",
"location":"",
"key13":"0",
"key14":"0",
"key15":"0",
"result_status":null
},
{
"id":"7",
"name":"PP-1",
"subtitle":"name-I",
"key1":"punjab",
"key12":"2013",
"location":"",
"key13":"0",
"key14":"0",
"key15":"0",
"result_status":null
},
{
"id":"7",
"name":"PP-1",
"subtitle":"name-I",
"key1":"punjab",
"key12":"2013",
"location":"",
"key13":"0",
"key14":"0",
"key15":"0",
"result_status":null
},
{
"id":"7",
"name":"PP-1",
"subtitle":"name-I",
"key1":"punjab",
"key12":"2013",
"location":"",
"key13":"0",
"key14":"0",
"key15":"0",
"result_status":null
}
]
}
Run Code Online (Sandbox Code Playgroud)
我创建了对象来"包装"响应,例如:
public class Response {
@SerializedName("root_object")
private List<YourObject> rootObject;
//getter and setter
}
public class YourObject {
@SerializedName("id")
private String id;
@SerializedName("name")
private String name;
@SerializedName("subtitle")
private String subtitle;
//... other fields
//getters and setters
}
Run Code Online (Sandbox Code Playgroud)
注意:使用@SerializedName注释来跟踪Java属性中的命名约定,同时匹配JSON数据中的名称.
然后你只需用你的Reponse对象解析JSON ,如下所示:
String jsonString = "your json data...";
Gson gson = new Gson();
Response response = gson.fromJson(jsonString, Response.class);
Run Code Online (Sandbox Code Playgroud)
现在,您可以Response使用getter和setter 访问对象中的所有数据.
注意:您的Response对象可能用于解析不同的JSON响应.例如,您可以拥有不包含id或subtitle字段的JSON响应,但您的Reponse对象也将解析响应,并null在此字段中放置一个.这样,您只能使用一个Response类来解析所有可能的响应......
编辑:我没有意识到Android标签,我在通常的Java程序中使用这种方法,我不确定它是否对Android有效...
| 归档时间: |
|
| 查看次数: |
1565 次 |
| 最近记录: |