千家信息网

json格式在Java中互转的用法有哪些

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章给大家分享的是有关json格式在Java中互转的用法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、javaBean和json的互转JavaBean类pub
千家信息网最后更新 2026年11月02日json格式在Java中互转的用法有哪些

这篇文章给大家分享的是有关json格式在Java中互转的用法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一、javaBean和json的互转

JavaBean类

public class Person {    private Integer id;    private String name;    public Person() {    }    public Person(Integer id, String name) {        this.id = id;        this.name = name;    }    public Integer getId() {        return id;    }    public void setId(Integer id) {        this.id = id;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    @Override    public String toString() {        return "Person{" +                "id=" + id +                ", name='" + name + ''' +                '}';    }}

JsonTest测试类

 @Test    public void test1(){        Person person = new Person(1, "张三");        Gson gson = new Gson();        String personJsonToString = gson.toJson(person);        //toJson()方法可以把java对象转换成json字符串        System.out.println(personJsonToString);        Person person1 = gson.fromJson(personJsonToString, Person.class);//fromJson()方法可以把json字符串转换成java对象        System.out.println(person1);    }


二、List 和 json 的互转

public class PersonListType extends TypeToken> {}
 @Test    public void test2(){        ArrayList personArrayList = new ArrayList<>();        personArrayList.add(new Person(1,"张三"));        personArrayList.add(new Person(2,"李四"));        personArrayList.add(new Person(3,"王五"));        Gson gson = new Gson();        //把List转换为json字符串        String personListToString = gson.toJson(personArrayList);        System.out.println(personListToString);        //把json字符串祝转化成List        List list = gson.fromJson(personListToString, new PersonListType().getType());        System.out.println(list);        Person person = list.get(0);        System.out.println(person);    }

如果是直接personArrayList.getClass(),将json字符串转化成List,然后取List第一个元素进行输出,会出现异常

 //List list = gson.fromJson(personListToString, new PersonListType().getType());        List list = gson.fromJson(personListToString, personArrayList.getClass());        System.out.println(list);        System.out.println(list.get(0) instanceof Person);        System.out.println(list.get(0) instanceof List);        System.out.println(list.get(0) instanceof Map);        Person person = list.get(0);        System.out.println(person);

输出结果为:


从结果可以看出由json转换来的List里面的元素并不是一个Person对象,也不是一个List对象,而是一个Map对象,所以强转Person对象会报错。

如果要不把json字符串转换成List集合,并且集合中的每一个元素都是Person类型对象,第二个参数必须使用Type类型。

新建一个PersonListType类,继承于TypeToken类

//TypeToken是泛型类,List、或者具体的ArrayList都可以public class PersonListType extends TypeToken> {}
 List list = gson.fromJson(personListToString, new PersonListType().getType());        //List list = gson.fromJson(personListToString, personArrayList.getClass());        System.out.println(list);        System.out.println(list.get(0) instanceof Person);        System.out.println(list.get(0) instanceof List);        System.out.println(list.get(0) instanceof Map);        Person person = list.get(0);        System.out.println(person);

三、map 和 json 的互转

PersonMapType类,有个返回JavaBean可以直接.getClass(),而如果返回是一个集合对象,则需要继承TypeToken类。

public class PersonMapType extends TypeToken>{}
@Test    public void test3(){        Map map = new HashMap();        map.put(1,new Person(1,"张三"));        map.put(2,new Person(2,"李四"));        Gson gson = new Gson();        //把map集合转换成为json字符串        String personMapJsonString = gson.toJson(map);        System.out.println(personMapJsonString);        //把json字符串转换成map集合        Map personMap1 = gson.fromJson(personMapJsonString, new PersonMapType().getType());        System.out.println(personMap1);        Person person = personMap1.get(1);        System.out.println(person);    }

感谢各位的阅读!关于"json格式在Java中互转的用法有哪些"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

字符 字符串 对象 元素 张三 格式 内容 方法 更多 篇文章 类型 结果 李四 输出 不错 实用 参数 文章 看吧 知识 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州万易互联网科技有限公司 中国互联网科技工作委员会毛军 中国互联网科技股 鸠鸠互联网科技 上海挚品互联网科技 科技赋能互联网健康 深圳市运趣互联网科技有限公司 福州新华互联网科技学校 知乎 互联网科技创新服务 厦门比较好的科技互联网公司 河南猎农互联网科技有限公司 花神(南京)互联网科技有限公司 玉溪互联网科技怎么选 中国科技创新与世界互联网大会 中国互联网公司排名锤子科技 卡尔迅互联网科技有限公司 互联网科技包装股 10位科技互联网大佬 华人运通互联网科技公司 互联网科技自媒体灵感 互联网科技股 深圳九邦互联网科技有限公司 河南真二互联网科技有限公司 互联网与新科技 易通互联网络科技有限公司 中国互联网金融科技基金 现代科技和互联网有关系吗 科技互联网大厂 深圳艾果互联网通讯科技 杭州披云加互联网科技有限公司
0