json格式在Java中互转的用法有哪些
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章给大家分享的是有关json格式在Java中互转的用法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、javaBean和json的互转JavaBean类pub
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
oracle导出数据库结构文档
游戏服务器安装到固态硬盘
网络安全设计画图片
服务器那家好
优化网络技术营销推广教程
北京博齐世纪网络技术服务
学籍和扶贫数据库怎么对比
大数据运维和软件开发
app不联网适用也需要服务器吗
新乡易办网络技术公司
网络安全工作 情况自查报告
中华商务数据库
甘孜直播软件开发定制
各种管理系统软件开发文档
关于青少年网络安全答题
数据库一个字
学云软件开发工程难度大吗
FTP服务器如何启动项目
简述嵌入式软件开发基本过程
数据库修改成绩的查询
天津特种网络技术产品介绍
明日之后板娘在哪个服务器视频
静安区上门软件开发答疑解惑
数据库建表查数据有几种方法
中国的网络安全大赛有哪些
南医大数据库校外
域控制器如何管理文件服务器
石家庄二手服务器回收
数据库一个字
渡口网络安全