一、介绍
在前后端数据传输交互中,经常会遇到字符串与JSON、XML等格式相互转换与解析,其中JSON以跨语言,跨前后端的优点在开发中被频繁使用,基本上可以说是标准的数据交换格式。FastJson是阿里巴巴用Java语言编写的高性能且功能完善的JSON库,用于对JSON格式的数据进行解析。FastJSON 是一个开源项目,你可以在 GitHub 上找到它的源代码和文档。
二、FastJson使用
第一步:导入依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<!--(起码1.2.48以上)因为这个版本一下存在漏洞-->
<version>版本根据自己需要</version>
</dependency>
第二步:具体使用
FastJson 提供了大量的方法来处理 JSON 数据。以下是其中一些常用的方法。另外,我们知道 JSON 字符串大多是很多嵌套了很多层的,我们可以通过链式调用获取底层的 JSON 字符串所对应的 JSONObject 对象。
//把JSON文本解析为JSONObject或者JSONArray
public static final Object parse(String text);
//把JSON文本解析成JSONObject
public static final JSONObject parseObject(String text);
//把JSON文本解析为JavaBean
public static final <T> T parseObject(String text, Class<T> clazz);
//把JSON文本解析成JSONArray。只有字符串是JSON数组的时候才能转,不然会报错。
public static final JSONArray parseArray(String text);
//把JSON文本解析成JavaBean集合
public static final <T> List<T> parseArray(String text, Class<T> clazz);
//将JavaBean序列化为JSON文本
public static final String toJSONString(Object object);
//将JavaBean序列化为带格式的JSON文本
public static final String toJSONString(Object object, boolean prettyFormat);
//将JavaBean转换为JSONObject或者JSONArray。
public static final Object toJSON(Object javaObject);
三、XML和JSON之间的转换
某些情况下,我们也会涉及到 XML 格式的字符串和 JSONObject 对象之间的转换,可使用下面的工具类完成:
第一步:导入FastJson和dom4j的依赖
<dependency>
<groupId>com.alibaba</groupId>