fastjson
Fastjson 简介
Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。
Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。
Fastjson 源码地址:https://github.com/alibaba/fastjson
Fastjson 中文 Wiki:https://github.com/alibaba/fastjson/wiki/Quick-Start-CN
Fastjson 特性
- 提供服务器端、安卓客户端两种解析工具,性能表现较好。
- 提供了 toJSONString() 和 parseObject() 方法来将 Java 对象与 JSON 相互转换。调用toJSONString方 法即可将对象转换成 JSON 字符串,parseObject 方法则反过来将 JSON 字符串转换成对象。
- 允许转换预先存在的无法修改的对象(只有class、无源代码)。
- Java泛型的广泛支持。
- 允许对象的自定义表示、允许自定义序列化类。
- 支持任意复杂对象(具有深厚的继承层次和广泛使用的泛型类型)。
具体使用
首先我们需要导入包
<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.75</version> </dependency>
将对象转换为字符串关键代码
KnowledgeDO knowledgeDO = new KnowledgeDO(); knowledgeDO.setId(1); knowledgeDO.setAuthor("小猪"); knowledgeDO.setContent("你不是人!"); String jsonOutput= JSON.toJSONString(knowledgeDO); System.out.println(jsonOutput);
将字符串转换为对象关键代码
KnowledgeDO knowledgeDO1 = JSON.parseObject(jsonOutput, KnowledgeDO.class); System.out.println(knowledgeDO1.getContent());
控制台输出结果
大功告成
Jackson
具体使用
首先我们需要导入包
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.9.1</version> </dependency>
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> </dependency>
将对象转换为字符串关键代码
KnowledgeDO knowledgeDO = new KnowledgeDO(); knowledgeDO.setId(1); knowledgeDO.setAuthor("小猪"); knowledgeDO.setContent("你不是人!"); ObjectMapper mapper = new ObjectMapper(); String jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(knowledgeDO); System.out.println(jsonString);
将字符串转换为对象关键代码
KnowledgeDO knowledgeDO1 = mapper.readValue(jsonString, KnowledgeDO.class); System.out.println(knowledgeDO1.getContent());
控制台输出结果
本文作者为DBC,转载请注明。