前言
在工作中,少不了Json解析处理,一般我们常用的就是FastJson、Jackson、Gson这三大工具类,他们都有各自的优缺点,本篇文章我们来使用一下他们各自的API,对比一下。
一、各个JSON技术的简介
1.1 FastJson角色
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
Github官网简介:github.com/alibaba/fas…
1.2 Jackson角色
Jackson被称为“ Java JSON库”或“ Java的最佳JSON解析器”。或简称为“ JSON for Java”。
Github官网简介:github.com/FasterXML/j…
1.3 Gson角色
Gson是一个Java库,可用于将Java对象转换为其JSON表示形式。它也可以用于将JSON字符串转换为等效的Java对象。Gson可以处理任意Java对象,包括您没有源代码的预先存在的对象。
Github官网简介:github.com/google/gson
二、使用步骤
2.1 引入库
1、FastJson依赖
1 | xml复制代码<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> |
Maven中央仓库:mvnrepository.com/artifact/co…
2、Jackson依赖
1 | xml复制代码<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-annotations --> |
Maven中央仓库:mvnrepository.com/artifact/co…
3、Gson依赖
1 | xml复制代码<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --> |
Maven中央仓库:mvnrepository.com/artifact/co…
2.2 将JSON 字符串转换为Java 对象
Person对象
1 | java复制代码/** |
1、FastJson版本
1 | java复制代码 public static void main(String[] args) { |
1 | java复制代码JSON.parseObject(String,Object.class) |
2、Jackson版本
1 | java复制代码public static void main(String[] args) { |
3、Gson版本
1 | java复制代码public static void main(String[] args) { |
2.3 将Java对象转换为JSON 字符串
1、FastJson版本
1 | java复制代码public static void main(String[] args) { |
1 | java复制代码JSONObject.toJSONString(String) |
2、Jackson版本
1 | java复制代码public static void main(String[] args) { |
3、Gson版本
1 | java复制代码public static void main(String[] args) { |
2.4 将JSON 字符串数组转为JSON数组
1、FastJson版本
1 | java复制代码public static void main(String[] args) { |
1 | java复制代码JSONObject.parseArray(json) |
遍历循环Json数组:
1 | java复制代码 public static void main(String[] args) { |
2、Jackson版本
1 | java复制代码public static void main(String[] args) throws JsonProcessingException { |
3、Gson版本
1 | java复制代码```java |
List反序列化时必须提供它的Type,通过Gson提供的TypeToken.getType()方法可以定义当前List的Type。
2.5 将JSON数组转为JSON 字符串
1、FastJson版本
1 | java复制代码public static void main(String[] args) { |
2、Jackson版本
1 | java复制代码public static void main(String[] args) throws JsonProcessingException { |
3、Gson版本
1 | java复制代码public static void main(String[] args) { |
总结
以上就是今天的内容,能坚持看到这里,你一定会有收获,我个人比较喜欢使用FastJson,推挤教程文档:www.runoob.com/w3cnote/fas…
技术群:176251012 喜欢是一种态度,坚持才是态度的体现。
本文转载自: 掘金