阿里json解析数据(阿里开源JSON解析库fastjson的常用介绍)
阿里json解析数据(阿里开源JSON解析库fastjson的常用介绍)
fastjson是阿里巴巴的开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBean。
FastJson速度快 无论序列化和反序列化 都是当之无愧的fast,在阿里巴巴大规模使用,在数万台服务器上部署,fastjson在业界被广泛接受。当然频频暴出的漏洞也需要关注。下面介绍常用到的几个方法。
中央库地址:http://repo1.maven.org/maven2/com/alibaba/fastjson/
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>x.x.x</version>
</dependency>
解析字符串
JSONObject jsonObject = JSONObject.parseObject("JSON字符串");
//SerializerFeature.WriteMapNullValue使其输出
String listJson = JSON.toJSONString(map SerializerFeature.WriteMapNullValue);
//数组转换
JSONArray jsonArray = JSONArray.parseArray("JSON数组字符串");
对象转换成字符串
List<Object> list = new ArrayList<Object>();
String listJson = JSON.toJSONString(list);
//使用SerializerFeature特性格式化日期
String dateJson = JSON.toJSONString(new Date() SerializerFeature.WriteDateUseDateFormat);
//JSON字符串与对象之间转换
Student student = JSONObject.parseObject(JSON_OBJ_STR Student.class);
反序列化
User user1 = JSON.parseObject(userJson User.class);
List<Map> list1 = JSON.parseArray(listJson Map.class);
常用方法汇总
// 把JSON文本parse为JSONObject或者JSONArray
public static final Object parse(String text);
// 把JSON文本parse成JSONObject
public static final JSONObject parseObject(String text);
// 把JSON文本parse为JavaBean
public static final <T> T parseObject(String text Class<T> clazz);
// 把JSON文本parse成JSONArray
public static final JSONArray parseArray(String text);
//把JSON文本parse成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);
欢迎大家在评论中讨论。