解析 对象列表的JSON数据 []、[{}] 中括号

例如数据格式为
{"data":[{"uid":"FFFF0233","name":"zhangsan"},{"uid":"FFFF0234","name":"lisi"}],"errmsg":"","status":0,"ts":1567761594}

可以分为两部分外部和内部,内部是[{"uid":"FFFF0233","name":"zhangsan"},{"uid":"FFFF0234","name":"lisi"}],在数据转化为json之前,这个内部其实是一个List<对象>
可以把{"uid":"FFFF0233","name":"zhangsan"},{"uid":"FFFF0234","name":"lisi"} 看成两个对象,第一对象{"uid":"FFFF0233","name":"zhangsan"},而这对象有两个属性。

1.先解析外部
JsonObject obj = new JsonParser().parse(json数据).getAsJsonObject();
obj.get("data") 的值为 [{"uid":"FFFF0233","name":"zhangsan"},{"uid":"FFFF0234","name":"lisi"}]
以此类推
obj.get("errmsg")  的值为  ""

2.解析内部
BaseStationApJson baSAp = new Gson().fromJson(obj,BaseStationApJson.class);
for (Map map : baSAp.getData()) {
Test test = new Test("" + map.get("uid")); //到这一步 map.get("uid") 就能获取到uid的值了 Test类是测试需要,完全可以去掉
list.add(test);
}
例如BaseStationApJson
public class BaseStationApJson {
private List<Map> data;
private String errmsg;
private int status;
private Long ts;
 

 
修改:
解析的方式很多种,可以通过阿里巴巴的JSONObject或谷歌的Gson解析。
 
posted @ 2019-09-06 17:32  周千  阅读(15020)  评论(0编辑  收藏  举报