json格式在Java中互转的用法有哪些
发表于:2025-11-10 作者:千家信息网编辑
千家信息网最后更新 2025年11月10日,这篇文章给大家分享的是有关json格式在Java中互转的用法有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、javaBean和json的互转JavaBean类pub
千家信息网最后更新 2025年11月10日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安全错误
数据库的锁怎样保障安全
新乡市嘟嘟网络技术游戏
饭圈网络安全画
视频服务器发展史价格表
张建宁 网络安全 pdf
2022网络安全攻防大赛
网络安全关键技术主要涉及有
软件开发的工资有多高
网络安全教育平台 密码
mfc 连接sql数据库
为什么要注意电脑网络安全
数据库理解技术
无线连接dhcp服务器失败
打印机服务器信息安全
网络安全集成项目建设原则
网络安全专业必须课程
软件开发公司的照片
软件开发项目的交易税
网络安全的言语
华为云服务器配数据库吗
互联网科技小发明小制作
软件开发与项
安卓怎么玩ygo dl服务器
互联网科技创新的新闻
数据库random去重
乡镇网络安全领导机构成立情况
数据库dsg是什么
我的世界玩家服务器有什么用
河南网络技术服务公司
智悦网络技术有限公司
数据库显示所有数据的函数