iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Java中Json与List、Map、entity怎么互相转化
  • 288
分享到

Java中Json与List、Map、entity怎么互相转化

2023-07-02 18:07:10 288人浏览 八月长安
摘要

本篇内容介绍了“Java中JSON与List、Map、entity怎么互相转化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!第一步:导入依赖

本篇内容介绍了“Java中JSON与List、Map、entity怎么互相转化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

第一步:导入依赖

        <dependency>            <groupId>com.Google.code.gson</groupId>            <artifactId>gson</artifactId>            <version>2.8.6</version>        </dependency>

第二步:开始使用

场景一:转换普通对象(Bean)。

将普通的JavaBean转换为json字符串是最常用的操作了,首先创建一个简单的类,例如:Person。

public class Person{    private String name;    private int age;    private boolean isMale;    private List<String> hobbies;    // 省略构造器和getter/setter方法,注意重写toString方法,便于查看控制台输出。    @Override    public String toString()    {        final StringBuilder sb = new StringBuilder("Person{");        sb.append("name='").append(name).append('\'');        sb.append(", age=").append(age);        sb.append(", isMale=").append(isMale);        sb.append(", hobbies=").append(hobbies);        sb.append('}');        return sb.toString();    }}

使用Gson解析Person的实例。

    1  先创建Person对象。
    2  在创建Gson对象。
    3  调用Gson的String toJson(Object)方法,来将对象转换为json字符串。

@Testpublic void testBeanToJson(){    // 创建Bean    Person p = new Person("艾伦·耶格尔", 16, true, Arrays.asList("自由", "迫害莱纳"));    // 创建Gson对象    Gson gson = new Gson();    // 调用Gson的String toJson(Object)方法将Bean转换为json字符串    String pJson = gson.toJson(p);    System.out.println(pJson);    // {"name":"艾伦·耶格尔","age":16,"isMale":true,"hobbies":["自由","迫害莱纳"]}}

将Person实例的json字符串转换为Person对象。

调用Gson的 t fromJson(String, Class)方法,将Json串转换为对象

// 调用Gson的 <T> t fromJson(String, Class)方法,将Json串转换为对象Person person = gson.fromJson(pJson, Person.class);System.out.println(person);// Person{name='艾伦·耶格尔', age=16, isMale=true, hobbies=[自由, 迫害莱纳]}

使用场景二:转换List集合

@Testpublic void testListToJson(){    // 先准备一个List集合    List<Person> list = new ArrayList<Person>();    list.add(new Person("三笠·阿克曼", 16, false, Arrays.asList("砍巨人", "保护艾伦")));    list.add(new Person("阿明·阿诺德", 16, true, Arrays.asList("看书", "玩海螺")));    System.out.println(list);    // 创建Gson实例    Gson gson = new Gson();    // 调用Gson的toJson方法    String listJson = gson.toJson(list);    System.out.println(listJson);    // [{"name":"三笠·阿克曼","age":16,"isMale":false,"hobbies":["砍巨人","保护艾伦"]},{"name":"阿明·阿诺德","age":16,"isMale":true,"hobbies":["看书","玩海螺"]}]}

Json转List对象

由于List接口带泛型,如果还调用 t fromJson(String, Class)方法,那么返回的虽然还是个List集合,但是集合里面的数据却不是Person对象,而是Map对象,并将Person属性以键值对的形式存放在Map的实例中。让我们来验证一下。

......// 此处延续以上代码List fromJson = gson.fromJson(listJson, List.class);System.out.println(fromJson.get(0).getClass());// class com.google.gson.internal.LinkedTreeMap

要想获取的List还和之前的一毛一样,那么我们需要调用Gson的 T fromJson(String, Type) 方法。如下:

此方法参数中的Type类型可以通过Gson包提供TypeToken<>类获取。这个类带有泛型,且这个泛型就是Json串转换成为对象后的类型(此处是List)我们不需要重写这个类中的任何方法,只需要创建这个类的一个匿名内部类并调用getTpye()方法即可。

注意:一定要将这个匿名内部类的泛型写为Json字符串解析后生成的对象类型。

......// 此处延续以上代码// 调用Gson的 T fromJson(String, Type)将List集合的json串反序列化为List对象List<Person> plist = gson.fromJson(listJson, new TypeToken<List<Person>>(){}.getType());System.out.println(plist);// [Person{name='三笠·阿克曼', age=16, isMale=false, hobbies=[砍巨人, 保护艾伦]}, Person{name='阿明·阿诺德', age=16, isMale=true, hobbies=[看书, 玩海螺]}]

使用场景三:转换Map集合。

转换Map的步骤就和转换List的步骤一模一样了,代码如下。详解请看List转换。

@Testpublic void testMapToJson(){    Map<String, Person> map = new HashMap<>();    map.put("p1", new Person("利威尔·阿克曼", 35, true, Arrays.asList("砍猴儿", "打扫卫生")));    map.put("p2", new Person("韩吉·佐耶", 33, false, Arrays.asList("研究巨人", "讲故事")));    Gson gson = new Gson();    String mapJson = gson.toJson(map);    System.out.println(mapJson);    // {"p1":{"name":"利威尔·阿克曼","age":35,"isMale":true,"hobbies":["砍猴儿","打扫卫生"]},"p2":{"name":"韩吉·佐耶","age":33,"isMale":false,"hobbies":["研究巨人","讲故事"]}}    Map<String, Person> jsonMap = gson.fromJson(mapJson, new TypeToken<Map<String, Person>>() { }.getType());    System.out.println(jsonMap);}

总的来说就是toJson()和fromJson两个方法

“Java中Json与List、Map、entity怎么互相转化”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: Java中Json与List、Map、entity怎么互相转化

本文链接: https://www.lsjlt.com/news/343699.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java中Json与List、Map、entity怎么互相转化
    本篇内容介绍了“Java中Json与List、Map、entity怎么互相转化”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!第一步:导入依赖...
    99+
    2023-07-02
  • Java中Json与List、Map、entity的互相转化
    目录第一步:导入依赖第二步:开始使用场景一:转换普通对象(Bean)。使用场景二:转换List集合。Json转List对象使用场景三:转换Map集合。在开发中,Json转换的场景往往...
    99+
    2024-04-02
  • Java中Map与JSON数据之间怎么互相转化
    这篇文章主要介绍了Java中Map与JSON数据之间怎么互相转化的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中Map与JSON数据之间怎么互相转化文章都会有所收获,下面我们一起来看看吧。map转JSO...
    99+
    2023-07-06
  • Java中Map与JSON数据之间的互相转化
    目录mapmap转JSON字符串JSON字符串转JSON对象Map转JSON对象JSON字符串转MapJSON对象转MapJSON对象转JSON字符串IDEA功能快捷键总结map 此...
    99+
    2023-05-16
    map和json互转 map与json转换 map转为json
  • Java-json相关转换,JSONObject与实体类/map互转、List/List<map>和JSONArray互转、获取JSONObject中的key value、字符串String转换等
    博客背景是Java开发。json相关的转换、取值等在日常开发中经常使用,但有时候还是会忘记or遇到些奇奇怪怪的问题。以此记录,提醒自己~不定期更新~ 文章目录 1、JSONObject相关实体类和JSONObject互转Map和JS...
    99+
    2023-08-17
    java json list
  • java对象怎么与JSON互相转换
    这篇文章将为大家详细讲解有关java对象怎么与JSON互相转换,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。具体方法如下:import java.beans.IntrospectionExc...
    99+
    2023-05-31
    json java ava
  • go语言中的json与map相互转换实现
    主要是引入 "encoding/json" 包;用到的也就是其中的两个函数json.Marshal和json.Unmarshal。 1、json.Marshal ...
    99+
    2024-04-02
  • Java中BeanMap怎么实现对象与Map相互转换
    这篇文章主要介绍“Java中BeanMap怎么实现对象与Map相互转换”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java中BeanMap怎么实现对象与Map相互转换”文章能帮助大家解决问题。ja...
    99+
    2023-06-29
  • Java中Map与对象之间互相转换
    文章目录 Map转Object方式一:通过BeanMap转方式二:通过fastJson转方式三:通过gson转 Object转Map方式一:通过BeanMap转方式二:通过fastJso...
    99+
    2023-10-03
    java
  • java中JSONArray互相转换List怎么实现
    这篇文章主要讲解了“java中JSONArray互相转换List怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java中JSONArray互相转换List怎么实现”吧!1:JSONA...
    99+
    2023-07-02
  • Java中List与数组之间的相互转换
    一、List列表与对象数组 List列表中存储对象,如List、List、List,对象数组中同样存储相应的对象,如Integer[]、String[]、Person[],对象数组与对象List的转换可通过如下方式实现: (一)对象List...
    99+
    2023-09-13
    数组 list转换
  • python中 list 与数组的互相转
    python中 list 与数组的互相转换(1)list转array    np.array(a)(2)array 转list    a.tolist() ...
    99+
    2023-01-31
    数组 python list
  • Java中LocalDateTime/DateTime与Date相互转化(java中时间转化)
    1、LocalDateTime和Date为什么需要相互转化 LocalDateTime是JDK1.8出现的新特性,解决线程不安全的问题,但是当前很多的相关插件或者使用较低版本的时候,会依旧使用Date的情况,这个时候就需要两者之间的相互转化...
    99+
    2023-09-02
    java 开发语言 jvm
  • java中map与实体类的相互转换操作
    java中map与实体类的相互转换 1. 在 pom.xml 中引入依赖包 <dependency> <groupId>com.alibaba&l...
    99+
    2024-04-02
  • Java中的List<T>对象与Json格式的字符串的相互转换
    Java中的List对象与Json格式的字符串的相互转换 前提条件:引入JSON依赖,是由ali提供的一个fastjson com.alibaba fastjson 2.0.16 ...
    99+
    2023-09-05
    java json spring 数据库
  • java中JSONArray互相转换List的实现
    目录1:JSONArray转List2:List转JSONArray1:JSONArray转List JSONArray字符串 转 List //初始化JSONArray JSONA...
    99+
    2024-04-02
  • Java中 实体类与Map互转
    1、map转对象; 主要思路,将map中的key-value取出来,然后和给定的对象去匹配 public static T mapToBean(Map map, Class clazz) throws Exception {Object ...
    99+
    2023-10-11
    java jvm 开发语言
  • java对象与Json字符串的相互转换
    文章目录 1.Json对象转换为java 对象 2. Java对象转换JSON 1.Json对象转换为java 对象 导入jackson的相关jar包 创建Jackson核心对象 ObjectMapper 调用ObjectMapper的相关...
    99+
    2023-10-23
    java json servlet
  • Java BeanMap如何实现Bean与Map的相互转换
    本篇内容主要讲解“Java BeanMap如何实现Bean与Map的相互转换”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java BeanMap如何实现Bean与Map的相...
    99+
    2023-07-04
  • Java中怎么将list转换成map
    这篇文章主要介绍了Java中怎么将list转换成map的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Java中怎么将list转换成map文章都会有所收获,下面我们一起来看看吧。在java后端编程中,我们时常会有...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作