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