例举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使用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接口返回json数据相关配置详解
一直使用的是FastJson,感觉还不错,很方便.看了一段别人的分析,觉得很有道理. 为什么要使用Fastjson,其实原因不需要太多,喜欢就行. 我之所以要替换掉Jackson最主要的原因是Jackson在处理对象之前的循环嵌套关系时不便. ps:什么是对象间的循环嵌套?比如A有一个List,B对象里又有一个A对象,当然返回A对象的Json字符串时,如果是 Jackson就会发生异常,因为Jackson天生不具备处理这种关系的能力,而Fastjson正好具备了这种能力(另,如果你用的是 Jac
-
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
-
关于fastjson的@JSONField注解的一些问题(详解)
@JSONField 看源码它可以作用于字段和方法上. 引用网上说的, 一.作用Field @JSONField作用在Field时,其name不仅定义了输入key的名称,同时也定义了输出的名称. 但是我在使用中,发现并不如上所说. 例如 @JSONField(name="project_id") private Long ProjectID 发现bean 转json的时候并是"project_id":xxx的形式,json转bean的时候也不会把"proj
-
使用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
-
Spring Boot使用FastJson解析JSON数据的方法
个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析呢? 1.引入fastjson依赖库: <!--添加fastjson解析JSON数据--> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <versio
-
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
-
举例讲解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
-
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
随机推荐
- Prototype的Class.create函数解析
- 批处理统计文件夹内的所有文件的数量和总大小的bat
- MySQL日志文件详解
- js的hasownproperty使用示例
- 正则表达式regular expression详述(一)
- python 调用win32pai 操作cmd的方法
- Oracle组件实现动态Web数据库
- js与运算符和或运算符的妙用
- 关于PHP堆栈与列队的学习
- 用PHP连mysql和oracle数据库性能比较
- 关于ASP生成伪参数技巧 简洁实用的伪(僞)参数
- C#写日志类实例
- 详解C#中通过委托来实现回调函数功能的方法
- Android 游戏开发入门简单示例
- Yii 连接、修改 MySQL 数据库及phpunit 测试连接
- ES6中Math对象新增的方法实例详解
- js实现鼠标跟随运动效果
- 动态创建样式表在各浏览器中的差异测试代码
- python判断图片宽度和高度后删除图片的方法
- Android 关于“NetworkOnMainThreadException”问题的原因分析及解决办法