此处介绍几种JSON转换的几种方法:使用Gson ObjectMapper

Gson

此为Google提供的一个转换工具

添加依赖:

<!--             使用谷歌的Gson转换依赖--><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId></dependency>

通过创建Gson对象进行调用方法转换

   User1 user1 = new User1();user1.setId(1L);user1.setAge("18");user1.setName("王大陆");System.out.println("正常输出"+user1);Gson gson = new Gson();String s = gson.toJson(user1);System.out.println("gson转换"+s);//得到结果:gson转换{"Id":1,"Name":"王大陆","age":"18"}

ObjectMapper

添加依赖:

<!--            ObjectMapper依赖--><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency>

通过创建ObjectMapper进行Json的转换

基本上就是两种方法:

1.对象转换Json字符串:   writeValueAsString(Object obj);

将对象,List集合,Map集合转换成Json

2.Json字符串转换成对象: readValue(String json,Class clazz);

这个方法也不难,从json到简单POJO  或者 到 Map ,数组都没有问题;

比如:readValue(json,Person.class);readValue(json,Map.class);readValue(json,Person[].class)

只是要注意json到list的转换有点特别的就可以

readValue(json,List.class); 该返回类型是:List<LinkedHashMap<String ,Object>>

所以,并不能通过readValue(json,List.class);来直接过得List<Person>

如果想得到,就要使用JavaType这个类了。

 @Testpublic void look() throws JsonProcessingException {//-------------------------------1.对象转Json-----------------------------------User1 user1 = new User1();user1.setId(1L);user1.setAge("18");user1.setName("王大陆");//使用ObjectMapper进行转换ObjectMapper objectMapper = new ObjectMapper();//转换对象String s1 = objectMapper.writeValueAsString(user1);System.out.println("ObjectMapper转换"+s1);//得到结果:ObjectMapper转换{"age":"18","name":"王大陆","id":1}//转换list集合List<User1> list1 = new ArrayList<>();list1.add(new User1(1L,"lll","sss"));list1.add(new User1(2L,"llls","sssl"));String s2 = objectMapper.writeValueAsString(list1);System.out.println("list集合转换"+s2);//得到结果:// list集合转换[{"age":"sss","name":"lll","id":1},{"age":"sssl","name":"llls","id":2}]//转换MapHashMap map = new HashMap();map.put("name","张三");map.put("age",19);String s3 = objectMapper.writeValueAsString(map);System.out.println("map集合进行转换"+s3);//得到结果:map集合进行转换{"name":"张三","age":19}//-------------------------------2.Json转对象-----------------------------------//2.1Json转换为对象User1 user2 = new User1(1L,"王大陆","19");String s4 = objectMapper.writeValueAsString(user2);//得到一个Json值User1 user11 = objectMapper.readValue(s4, User1.class);System.out.println("Json转对象"+user11);//得到结果:Json转对象User1(Id=1, Name=王大陆, age=19)//2.2Json转换为MapMap map1 = objectMapper.readValue(s4, Map.class);System.out.println("Json转换成Map"+map1);//得到结果:Json转换成Map{age=19, id=1, name=王大陆}//2.3Json转换成List集合User1 user3 = new User1(1L,"王大陆","19");User1 user4 = new User1(2L,"王小陆","18");List<User1> l = new ArrayList<>();l.add(user3);l.add(user4);String s5 = objectMapper.writeValueAsString(l);List list = objectMapper.readValue(s5, List.class);System.out.println("Json转换成list"+list);//得到结果:Json转换成list[{age=19, name=王大陆, id=1}, {age=18, name=王小陆, id=2}]System.out.println(list.get(0));//只能得到下标的整体对象参数,不能得到具体的//使用此方法讲要转换的类型设置为所需要的对象类型,就是list的构造器参数类型设置为:User1JavaType javaType = objectMapper.getTypeFactory().constructParametricType(List.class, User1.class);List<User1> o = objectMapper.readValue(s5, javaType);System.out.println(o.get(0).getName());//结果为:王大陆}

当string类型的数字 进行转换时 要进行判断是否为null,如果为空则转换成0

 Double zyyPrice = Double.parseDouble(billingDetails.getAccountZyy() == null ? "0" : billingDetails.getAccountZyy());

JSON字符串,JSON对象的相互转换相关推荐

  1. json字符串和对象的相互转换

    大家好呀,我是柚子,今天这篇文章介绍的是json字符串和对象的相互转换~ 文章目录 举例 一.json字符串转对象 1.单个对象 2.多个对象 二.对象转json字符串 1.第一种方式 2.第二种方式 ...

  2. 开发:随笔记录之 Json字符串和对象的相互转换

    引入的包 :json-lib-2.1.jar import net.sf.json.JSONArray; import net.sf.json.JSONObject; //随意创建一个实体 RuleD ...

  3. ajax返回字符串怎么处理,ajax请求返回json字符串/json对象 处理

    1. 返回json字符串如何处理 $.ajax({ url:xxx, success:function(date){ }, error:function(){ } }); 通过最原始的返回: Prin ...

  4. Json与Java对象的相互转换

    一.json JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式.它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集, ...

  5. js解析json字符串、对象与json之间的转换

    前言 在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键. js解析json字符串 // JSON字符串 'v ...

  6. Json字符串和对象相互转换

    文章目录 1.JsonUtil 工具类 把对象转换为json字符串 把json字符串转换为对象 把json字符串转换为List集合 2.Gson 把对象转换为json字符串 把json字符串转换为对象 ...

  7. JSON字符串和对象之间的转换

    使用jackSON来实现JSON字符串和对象之间的转换 引入maven <!--jackson--><dependency><groupId>com.fasterx ...

  8. Json字符串转对象和转List集合操作(alibabab版本)

    Json字符串转对象和转List集合操作(alibabab版本) Json是当前开发用得最多基于JavaScript语言的轻量级的数据交换格式,总结一下常用转换格式的方法,以便日后使用方便 以下为 a ...

  9. c#谷歌 json转对象_利用Google Gson实现JSON字符串和对象之间相互转换

    最近一个项目需要用到JSON,需要在JSON字符串和对象之间相互转换,在网上找了些资料,发现google的Gson还是比较不错的. 废话不说,下面是简单的例子: 先上源码:下载(包含jar包) Per ...

  10. Json字符串转对象和转List集合操作(json-lib版本)

    Json字符串转对象和转List集合操作(json-lib版本) Json是当前开发用得最多基于JavaScript语言的轻量级的数据交换格式,总结一下常用转换格式的方法,以便日后使用方便 以下为 j ...

最新文章

  1. python3 module 'pexpect' has no attribute 'spawn' 解决方法
  2. ORACLE 11G DATA GUARD主从切换
  3. 为什么配置了vsftpd.conf文件,用户还是可以访问上级目录?
  4. 分页的limit_20.MySQL中的LIMIT(分页)
  5. ajax实现上传文件
  6. QT 网络编程(1)
  7. LVS-NAT和LVS-DR模式的实现详解
  8. 正则表达式学习笔记009--大括号与选择符的认识与应用
  9. Windows Phone 项目实战之账户助手
  10. MongoDB的查询语句示例说明
  11. MySql的完整卸载(总共四个步骤)
  12. 用差分法求解burger方程 matlab,偏微分方程数值解上机实验.doc
  13. 深入浅出Word2Vec原理解析
  14. 剑指offer-二叉树中值等于某个数的路径
  15. java 单线程 并发_单线程_Java高并发专题系列_Java视频-51CTO学院
  16. Windows安装AdelaiDet的血与泪
  17. VHDL设计——交通红绿灯控制器模块
  18. vue 有关于命名大小写的问题
  19. Vivado HLS #pragma 学习笔记(一)
  20. draw.io 插入 word

热门文章

  1. osg加载osgb数据_PCM点云数据处理软件功能使用第十七弹
  2. mybatis执行sql脚本
  3. php去掉文字空白换行,php去掉空格换行的方法
  4. ArcGIS中GWR模型的构建
  5. 「需求广场」需求词更新明细(三)
  6. 使用delphi开发人工智能程序(环境搭建)
  7. Pycharm使用os.system()执行cmd代码出现乱码的问题
  8. 《趣谈网络协议》学习笔记
  9. 十行代码编写一个Python小游戏,你准备好了吗?
  10. python权重矩阵_生成空间权重矩阵