zoukankan      html  css  js  c++  java
  • 解析 对象列表的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;
     

     
     
  • 相关阅读:
    laravel、TP、YII框架的优缺点
    关于如何关闭Laravel中严格模式的两种方法
    Laravel扩展阿里云OSS对象存储
    Laravel权限管理的应用记录
    laravel原生MySQL之Group记录
    laravel导出Xlsx
    软件工程课的认识
    斗兽棋项目开发计划书
    斗兽棋测试计划说明书
    测试报告分析
  • 原文地址:https://www.cnblogs.com/riyueqian/p/11477084.html
Copyright © 2011-2022 走看看