用Gson解析json

首先我们需要导入gson的jar包,因为gson解析方法不是java官方的而是谷歌提供的。

一.把json数据转成java对象

首先因为已经手动导入了jar包,现在只需创建解析器对象,当然首先得有一个json类型的文件地址,和文件输出流
第二步调用解析器的fromJson()方法返回一个对象类型

//要解析的json文件地址
File f=new File(“C:\Users\Shine’lon\IdeaProjects\suanfa\stus2.json”);
FileReader reader=new FileReader(f);
创建gson解析器对象
Gson gson=new Gson();
Student student= gson.fromJson(reader, Student.class);
System.out.println(student);
在这里插入图片描述

二.把java对象转成json数据

首先跟上面一样也是先创建解析器对象
然后给对象设置属性,最后调用解析器的tojson()方法返回一个字符串

//创建gson解析器对象
Gson gson=new Gson();
//java对象转成json格式
Student stu2=new Student();
stu2.setNum(123);
stu2.setName(“左2”);
stu2.setSex(‘男’);
stu2.setAge(12);
// //创建gson解析器对象
String msg= gson.toJson(stu2);
System.out.println(msg);
在这里插入图片描述

三.把json数组对象转成java数组

首先还是创建解析器对象然后创一个list数组 还是使用解析器的frmo()
然后在增强型for循环遍历list集合 在sout里面通过调用属性的名字来打印
    Gson gson=new Gson();

// //将json数组数据转换成java数组对象
ArrayList list= gson.fromJson(reader, ArrayList.class);
for (LinkedTreeMap stu:list){
System.out.println(stu.get(“num”));
System.out.println(stu.get(“name”));
System.out.println(stu.get(“age”));
System.out.println(stu.get(“sex”));
}
在这里插入图片描述

四.把java数组 转成json数组对象

首先还是创建解析器,然后创建一个list集合并赋属性然后直接tojson()方法返回一个字符串然后直接打印即可

Gson gson=new Gson();//创建gson解析器
ArrayList list=new ArrayList<>();
for(int i=0;i<5;i++){

        Student s=new Student();
        s.setNum((100+i));
        s.setName("名字"+i);
        s.setAge(20+i);
        s.setSex(i%2==0?'男':'女');
        list.add(s);
    }
  String msg=  gson.toJson(list);
    System.out.println(msg);

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值