菜鸟笔记
提升您的技术认知

json格式化-ag真人游戏

我们在代码开发的时候,经常会遇到一些json格式化问题,比如说下面俩种

{
  "code": 200,
  "success": true,
  "data": [
    {
  
      "name": "张三",
      "age": 22,
      "gender": "男"
    },
    {
  
      "name": "李四",
      "age": 19,
      "gender": "女"
    },
    {
  
      "name": "王五",
      "age": 34,
      "gender": "男"
    },
    {
  
      "name": "赵六",
      "age": 30,
      "gender": "男"
    },
    {
  
      "name": "田七",
      "age": 25,
      "gender": "女"
    }
  ],
  "msg": "操作成功"}
{
  
  "code": 200,
  "success": true,
  "data": {
  
    "current": 2,
    "hitcount": false,
    "optimizecountsql": true,
    "orders": "",
    "pager": 1,
    "records": [
      {
  
        "name": "张三",
        "age": 22,
        "gender": "男"
      },
      {
  
        "name": "李四",
        "age": 19,
        "gender": "女"
      },
      {
  
        "name": "王五",
        "age": 34,
        "gender": "男"
      },
      {
  
        "name": "赵六",
        "age": 30,
        "gender": "男"
      },
      {
  
        "name": "田七",
        "age": 25,
        "gender": "女"
      }
    ],
    "searchcount": false,
    "size": 10,
    "total": 20
  },
  "msg": "操作成功"
}

其实俩个json传递的都是同一个数据对象,只不过外面包了一层或者俩层结构罢了,难道我们要为它创建俩个数据转化对象,no,no,no,我的强迫症不允许我这么做,所以我提供了一个万能的json格式化方法,可以解析任何层次的json数据,废话不多说,上代码。

1.到入json格式化依赖(这是谷歌的一个json格式化包)版本任选

 
 
     com.google.code.gson
     gson
     2.8.0
 
 
 
    org.projectlombok
    lombok
    1.16.10
    provided
  

2.实体类(数据封装第一层的实体类)

/**
 * 数据传输的第一层封装
 *
 * @author wanghuan
 * @date 2021/10/27 17:39
 */
@data
public class basedatabean {
  
    private string code;
    private boolean success;
    private t data;
    private string msg;
}
具体数据实体类
@data
@allargsconstructor
@noargsconstructor
public class person implements serializable {
  
    private string name;
    private integer age;
    private string gender;
}

3.格式化代码


    //json化对象
    gson gson = new gson();
    //这俩步获取json字符串
    file file = new file("d:\\workspace\\idea\\workstudy\\test\\src\\main\\java\\com\\wh\\1.json");
    string string = fileutils.readfiletostring(file);
	//格式化操作
    basedatabean> listr = gson.fromjson(string,
            new typetoken>>() {
  }.gettype());
    system.out.println(listr);

结果

这是dugger出来的数据结构。

4.用法

俩层的我就直接上代码了

第二层封装对象

/**
 * 数据传输的第二层封装(可选择的)
 *
 * @author wanghuan
 * @date 2021/10/27 17:41
 */
@data
public class databean {
  
    private int current;
    private boolean hitcount;
    private boolean optimizecountsql;
    private string orders;
    private int pager;
    private list records;
    private boolean searchcount;
    private int size;
    private int total;
}

代码

 gson gson = new gson();
    file file = new file("d:\\workspace\\idea\\workstudy\\test\\src\\main\\java\\com\\wh\\2.json");
    string string = fileutils.readfiletostring(file);
    basedatabean>> bean = gson.fromjson(string,
                          new typetoken>>() {
  }.gettype());
    system.out.println(bean);

效果图

如果有问题大家可以评论或者私信都可以,如果有作用,请大家给个赞,支持作者,谢谢各位。
本篇博客到此结束,可能有一些描述不好或者不准确的地方,请见谅。

网站地图