例举fastJson和jackson转json的区别
首先举个fastJson
和jackson
转json
的例子,然后对比两种的区别
例子1:
{ "statusCode": 800, "returnObj": { "hzOrderId": 14, "orderId": 2015111311521900000, "orderSendPlanId": 67 } }
1、jackson-ObjectMapper转json
上面是一个json
字符串,有两层,一层是最外面的,一层是returnObj
这种方式转换json
,特点是兼容性高,对于部分特殊字符也能转换成功。 而且:转换的时候是逐级转换,也就是说,无论你json
字符串有多少层次,他都会转换成Object
或者Map
上面的转换结果:returnObj
里面也会被转成Map
2、fastJson转换,这里就简单写一个转换
rest= JSON.parseObject(result, JsonRESTResult.class); HZorder hz = JsonUtils.fromJson(rest.getReturnObj().toString(), HZorder.class);
这种方式转换,特点:简单明了,但是对于部分特殊字符无法转换(比如html标签+文件特殊符号),还有个特点:他是直接转换的,而不是逐层转换。也就是说,针对例子1的json
字符串,只会转换最外层为Object
, 至于returnObj
, 仍然还是json
字符串,而不会转换成Map
。当你需要直接用的时候,还需要继续转换一次
两种方法各有千秋,可根据适用场景来决定用哪种,也可以两种合用
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我们的支持。如果你想了解更多相关内容请查看下面相关链接
相关推荐
-
举例讲解Java的Jackson库中ObjectMapper类的使用
ObjectMapper类是Jackson库的主要类.它提供一些功能将转换成Java对象匹配JSON结构,反之亦然.它使用JsonParser和JsonGenerator的实例实现JSON实际的读/写. 类声明 以下是org.codehaus.jackson.map.ObjectMapper类的声明: public class ObjectMapper extends ObjectCodec implements Versioned 嵌套类 S.N. 类 & 描述 1 static class
-
springboot实现FastJson解析json数据的方法
最近在研究springboot实现FastJson解析json数据的方法,那么今天也算个学习笔记吧! 添加jar包: <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.15</version> </dependency> 两种方式启动加载类: 第一种继承WebMvcConfigur
-
springMVC利用FastJson接口返回json数据相关配置详解
一直使用的是FastJson,感觉还不错,很方便.看了一段别人的分析,觉得很有道理. 为什么要使用Fastjson,其实原因不需要太多,喜欢就行. 我之所以要替换掉Jackson最主要的原因是Jackson在处理对象之前的循环嵌套关系时不便. ps:什么是对象间的循环嵌套?比如A有一个List,B对象里又有一个A对象,当然返回A对象的Json字符串时,如果是 Jackson就会发生异常,因为Jackson天生不具备处理这种关系的能力,而Fastjson正好具备了这种能力(另,如果你用的是 Jac
-
Spring Boot使用FastJson解析JSON数据的方法
个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析呢? 1.引入fastjson依赖库: <!--添加fastjson解析JSON数据--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <versio
-
使用Jackson来实现Java对象与JSON的相互转换的教程
一.入门 Jackson中有个ObjectMapper类很是实用,用于Java对象与JSON的互换. 1.JAVA对象转JSON[JSON序列化] import java.io.IOException; import java.text.ParseException; import java.text.SimpleDateFormat; import com.fasterxml.jackson.databind.ObjectMapper; public class JacksonDemo { p
-
java使用FastJson解析Json数据
fastjson 是一个性能极好的用 Java 语言实现的 JSON 解析器和生成器,来自阿里巴巴的工程师开发. 主要特点: 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson) 强大(支持普通JDK类包括任意Java Bean Class.Collection.Map.Date或enum) 零依赖(没有依赖其它任何类库除了JDK) 一 .生成Json: JavaBean.List<JavaBean>.List<String>.List<Map&l
-
springmvc fastjson 反序列化时间格式化方法(推荐)
第一种情况是从后台拿到数据,进行反序列化,反序列化格式时间:试了一下很多网上的方法,最后发现还是在实体类上面的日期字段加上如下注解,可以完成格式化操作,否则默认就都是时间戳的格式: @JSONField (format="yyyy-MM-dd HH:mm:ss") public Date birthday; @JSONField (format="yyyy-MM-dd HH:mm:ss") public Date birthday; 第二种情况是:respons
-
关于fastjson的@JSONField注解的一些问题(详解)
@JSONField 看源码它可以作用于字段和方法上. 引用网上说的, 一.作用Field @JSONField作用在Field时,其name不仅定义了输入key的名称,同时也定义了输出的名称. 但是我在使用中,发现并不如上所说. 例如 @JSONField(name="project_id") private Long ProjectID 发现bean 转json的时候并是"project_id":xxx的形式,json转bean的时候也不会把"proj
-
fastjson 使用方法详细介绍
Fastjson介绍 Fastjson是一个Java语言编写的JSON处理器. 1.遵循http://json.org标准,为其官方网站收录的参考实现之一. 2.功能qiang打,支持JDK的各种类型,包括基本的JavaBean.Collection.Map.Date.Enum.泛型. 3.无依赖,不需要例外额外的jar,能够直接跑在JDK上. 4.开源,使用Apache License 2.0协议开源.http://code.alibabatech.com/wiki/display/FastJ
-
fastjson生成json时Null属性不显示的解决方法
举个例子 Map < String , Object > jsonMap = new HashMap< String , Object>(); jsonMap.put("a",1); jsonMap.put("b",""); jsonMap.put("c",null); jsonMap.put("d","wuzhuti.cn"); String str = JSO
随机推荐
- JS 截取字符串substr 和 substring方法的区别
- Linux运维常用命令
- php摘要生成函数(无乱码)
- asp连接access、sql数据库代码及数据库操作代码
- 怎么利用c#修改services的Startup type
- php 字符串压缩方法比较示例
- 深入分析Android ViewStub的应用详解
- PHP小教程之实现双向链表
- JQuery的AJAX实现文件下载的小例子
- 基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
- 解决IE7以下版本不支持无A状态伪类的几种方法
- lua操作excel方法分享
- SQL Server 索引结构及其使用(一)--深入浅出理解索引结构第1/4页
- 仿JQuery输写高效JSLite代码的一些技巧
- 一个漂亮的下拉列表,去掉了灰色倒三角按钮
- 锋利的jQuery jQuery中的DOM操作
- 使用node.js半年来总结的 10 条经验
- 没有ISAPI Rewrite FULL照样玩多站点伪静态的方法分享
- ehcache开源缓存框架_动力节点Java学院整理
- Android RollPagerView实现轮播图