例举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
-
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
-
springMVC利用FastJson接口返回json数据相关配置详解
一直使用的是FastJson,感觉还不错,很方便.看了一段别人的分析,觉得很有道理. 为什么要使用Fastjson,其实原因不需要太多,喜欢就行. 我之所以要替换掉Jackson最主要的原因是Jackson在处理对象之前的循环嵌套关系时不便. ps:什么是对象间的循环嵌套?比如A有一个List,B对象里又有一个A对象,当然返回A对象的Json字符串时,如果是 Jackson就会发生异常,因为Jackson天生不具备处理这种关系的能力,而Fastjson正好具备了这种能力(另,如果你用的是 Jac
-
举例讲解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
-
使用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
-
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
-
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
-
关于fastjson的@JSONField注解的一些问题(详解)
@JSONField 看源码它可以作用于字段和方法上. 引用网上说的, 一.作用Field @JSONField作用在Field时,其name不仅定义了输入key的名称,同时也定义了输出的名称. 但是我在使用中,发现并不如上所说. 例如 @JSONField(name="project_id") private Long ProjectID 发现bean 转json的时候并是"project_id":xxx的形式,json转bean的时候也不会把"proj
随机推荐
- 简单的Html转换UBB的程序
- 几个高效,简洁的字符处理函数
- PHP实现将多个文件中的内容合并为新文件的方法示例
- 从C++单例模式到线程安全详解
- Mysql DNS反向解析导致连接超时过程分析(skip-name-resolve)
- MySQL下PID文件丢失的相关错误的解决方法
- PHP小程序自动提交到自助友情连接
- jQuery插件ajaxFileUpload实现异步上传文件效果
- 新增加一个防垃圾评论的asp代码,鄙视垃圾
- js控制href内容的连接内容的变化示例
- Centos7.3下vsftp服务的安装方法
- jQuery中的通配符选择器使用总结
- 详解spring boot整合JMS(ActiveMQ实现)
- 开源电商app常用标签"hot"之第三方开源LabelView
- 关于VLAN中DHCP域的问题
- 使用Vue写一个datepicker的示例
- 微信小程序开发注意指南和优化实践(小结)
- python基于property()函数定义属性
- Python3 mmap内存映射文件示例解析
- 使用keras实现Precise, Recall, F1-socre方式