例如數據格式為
{"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;