2021-03-07

一、Java与JSON

联系

  1. 将Java中的对象 快速的转换为 JSON格式的字符串。
  2. 将JSON格式的字符串, 转换为Java的对象。

二、Gson

要使用Gson首先要引入JAR包。

1、 将对象转换为JSON字符串

在需要转换JSON字符串的位置编写如下代码即可:
String json = new Gson().toJSON(要转换的对象);

案例:

      //1、创建Gson对象
        Gson g = new Gson();
        //2、转换
        Student stu = new Student("喜羊羊",8);
        String s = g.toJson(stu);
        System.out.println(s);

在这里插入图片描述
将JSON字符串转换为对象

在需要转换Java对象的位置, 编写如下代码:
对象 = new Gson().fromJson(JSON字符串,对象类型.class);

案例1:转换为自定义对象

 //1、创建Gson对象
        Gson g = new Gson();
        //2、转换
        Student stu = g.fromJson("{\"name\":\"喜羊羊\",\"age\":8}",Student.class);
        System.out.println(stu.getName());

在这里插入图片描述

案例2:转换为HashMap对象

       //1、创建Gson对象
        Gson g = new Gson();
        //2、转换
        HashMap data = g.fromJson("{\"name\":\"喜羊羊\",\"age\":8}",HashMap.class);
        System.out.println(data.get("name"));

在这里插入图片描述

案例3:转换的字符串中包含数组,返回的是List类型的集合

        Gson g = new Gson();
        HashMap data = g.fromJson("{\"name\":\"张三\",\"age\":\"20\",\"info\":\"三好学生\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿嘿嘿嘿\"]}",HashMap.class);
        List page = (List) data.get("page");
        System.out.println(page.get(0));

在这里插入图片描述

三、FastJson

使用FastJson也要引入JAR包

1、将对象转换为JSON字符串

在需要转换JSON字符串的位置编写如下代码即可:
String json=JSON.toJSONString(要转换的对象);

案例:

     Student stu = new Student("张三",100);
        //使用fastJson转换
        String json = JSON.toJSONString(stu);
        System.out.println(json);

在这里插入图片描述
2、将JSON字符串转换为对象

在需要转换Java对象的位置, 编写如下代码:
类型 对象名=JSON.parseObject(JSON字符串, 类型.class);

List<类型> list=JSON.parseArray(JSON字符串,类型.class);

案例:

        Student stu = JSON.parseObject("{\"age\":100,\"name\":\"张三\"}",Student.class);
        System.out.println(stu.getName());
        List<String> strings = JSON.parseArray("[\"一二三\",\"二三四\",\"三四五\"]",String.class);
        System.out.println(strings.get(0));

在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值