JSON

本文介绍了使用Gson和FastJson进行JSON数据转换的具体方法,包括对象到JSON字符串的转换及JSON字符串到对象的反序列化过程。展示了如何处理数组和复杂数据结构。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Gson

public class Demo_Gson {
    public static void main(String[] args) {
        //1、创建Gson对象
        Gson g = new Gson();
        //2、将对象转换为JSON字符串 String json = new Gson().toJSON(要转换的对象);
        Book b = new Book("1002","金苹果","种苹果");
        String json = g.toJson(b);
        System.out.println(json);
        //3、将JSON字符串转换为对象 对象 = new Gson().fromJson(JSON字符串,对象类型.class);
        //Book b1 = g.fromJson(json,Book.class);
        //转换为Book对象
        Book b1 = g.fromJson("{\"id\":\"1002\",\"name\":\"金苹果\",\"info\":\"种苹果\"}",Book.class);
        System.out.println(b1.getId());
        //转换为Hashmap对象
        HashMap data = g.fromJson("{\"id\":\"1002\",\"name\":\"金苹果\",\"info\":\"种苹果\"}",HashMap.class);
        System.out.println(data.get("id"));
    }
}

在这里插入图片描述
若JSON文件中有数组格式,转换为对象时,数组类型会变成ArrayList

public class Demo1 {
    public static void main(String[] args) {
        //1.    创建Gson对象
        Gson g = new Gson();
        //2.    将JSON字符串转换为对象   :  {"id":"100","name":"金苹果","info":"种植苹果真辛苦","page":["锄禾日当午","汗滴禾下土","嘿嘿嘿嘿嘿"]}
        HashMap data = g.fromJson("{\"id\":\"100\",\"name\":\"金苹果\",\"info\":\"种植苹果真辛苦\",\"page\":[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿嘿嘿嘿\"]}", HashMap.class);
        List page = (List) data.get("page");
        System.out.println(data.get("page").getClass());
        System.out.println(page.get(1));
    }
}

在这里插入图片描述
FastJson

public class Demo_FastJson {
    public static void main(String[] args) {
        Book b = new Book("1002","金苹果","种苹果");
        //将对象转换为JSON字符串 String json=JSON.toJSONString(要转换的对象);
        String json = JSON.toJSONString(b);
        System.out.println(json);
        //将JSON字符串转换为对象
        //类型 对象名=JSON.parseObject(JSON字符串, 类型.class)
        Book b1 = JSON.parseObject("{\"id\":\"1002\",\"name\":\"金苹果\",\"info\":\"种苹果\"}",Book.class);
        System.out.println(b1.getId());
        //或List<类型> list=JSON.parseArray(JSON字符串,类型.class)
        List<String> list = JSON.parseArray("[\"锄禾日当午\",\"汗滴禾下土\",\"嘿嘿嘿嘿嘿\"]",String.class);
        System.out.println(list.get(1));
    }
}

在这里插入图片描述

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值