官网:http://code.alibabatech.com/wiki/display/FastJSON/Home
示例:http://code.alibabatech.com/wiki/display/FastJSON/Examples
下载:http://code.alibabatech.com/wiki/display/FastJSON/Download
同等alibaba还有Cobar,Druid连接池等 http://code.alibabatech.com/wiki/dashboard.action
日期问题:
一种通过注解
@JSONField (format="yyyy-MM-dd HH:mm")
另一种
private static SerializeConfig mapping; @SuppressWarnings("unused") private static String dateFormat; static { dateFormat = "yyyy-MM-dd HH:mm:ss"; }
使用单引号
Object o = ...;
String text = JSON.toJSONString(o, SerializerFeature.UseSingleQuotes);
使用@JSONField Annotation
public class User { @JSONField(name="ID") public int getId() { ... } } User user = ...; JSON.toJSONString(user); // {"ID":234}
Class信息反序列化
将"JSON文本"反序列化为"Java Bean"
String text = ...; // {"r":255,"g":0,"b":0,"alpha":255} Color color = JSON.parseObject(text, Color.class);
类型集合的反序列化
String text = ...; // [{ ... }, { ... }] List<User> users = JSON.parseArray(text, User.class);
泛型的反序列化
如果你需要返回一个带泛型的对象,例如List<User>、Map<String, User>,你可以使用TypeReference来传入类型信息。
String text = ...; // {"name":{"name":"ljw",age:18}} Map<String, User> userMap = JSON.parseObject(text, new TypeReference<Map<String, User>>() {});
其他的没有什么好说的,看一下API就好
package com.alibaba.fastjson; public abstract class JSON { public static final String toJSONString(Object object); // 序列化 public static final Object parse(String text); // 反序列化 public static final <T> T parseObject(String text, Class<T> clazz); // 带类型参数的反序列化 }
其实不需要封装了
/** * 版权所有 All Rights Reserved * * @author Irving * @date 2013年2月19日11:31:26 * @version 1.0.0 * @email zhouyongtao#outlook.com */ @SuppressWarnings("unchecked") public class JsonUtil { private static SerializeConfig mapping; @SuppressWarnings("unused") private static String dateFormat; static { dateFormat = "yyyy-MM-dd HH:mm:ss"; } /** * 默認处理时间 * * @param jsonText * @return */ public static String toJSON(Object jsonText) { return JSON.toJSONString(jsonText, SerializerFeature.WriteDateUseDateFormat); } /** * 自定义时间格式 * * @param jsonText * @return */ public static String toJSON(String dateFormat, String jsonText) { mapping.put(Date.class, new SimpleDateFormatSerializer(dateFormat)); return JSON.toJSONString(jsonText, mapping); } /** * 转换JSON 集合 * * @param jsonText * @param clazz * @return */ public static <T> T parseJSON(String jsonText, Class<T> clazz) { return (T) JSON.parseArray(jsonText, clazz); } }
Link
http://www.cnblogs.com/zhenmingliu/archive/2011/12/29/2305775.html