fastjson核心简要总结

1.支持JDK各种类型,包括基本的JavaBean、Collection、Map、Date、Enum、泛型。


2.主要使用入口

Fastjson API入口类是com.alibaba.fastjson.JSON,常用的序列化操作都可以在JSON类上的静态方法直接完成。

public static final Object parse(String text); // 把JSON文本parse为JSONObject或者JSONArray
public static final JSONObject parSEObject(String text); // 把JSON文本parse成JSONObject  
public static final <T> T parSEObject(String text,Class<T> clazz); // 把JSON文本parse为JavaBean
public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray
public static final <T> List<T> parseArray(String text,Class<T> clazz); //把JSON文本parse成JavaBean集合
public static final String toJSONString(Object object); // 将JavaBean序列化为JSON文本
public static final String toJSONString(Object object,boolean prettyFormat); // 将JavaBean序列化为带格式的JSON文本
public static final Object toJSON(Object javaObject); //将JavaBean转换为JSONObject或者JSONArray。
 个人做的一个项目中就用到了parseArray解析,很方便快捷,不像普通json还要遍历数组一个个去setXXX对象bean类。查看parseArray函数源码如下 


核心类就是JSONLexer . 有两个子类


这个类就是一个扫描器性质的类,里面维护了一个text的json字符串对象,然后这个类就在里面逐个扫描,取出对应的键值对,放入对象中。

3.有关类库的一些说明
SerializeWriter:相当于StringBuffer
JSONArray:相当于List<Object>
JSONObject:相当于Map<String,Object>

4.SerializeConfig SerializeConfig的主要功能是配置并记录每种java类型对应的序列化类(ObjectSerializer接口的实现类)

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...