FastJson生成和解析JSON数据
来源:互联网 发布:买彩票 知乎 编辑:程序博客网 时间:2024/05/18 09:15
生成和解析JSON数据格式的包有很多种:Gson、json-smart、FastJson、jackjson等,FastJson是一个阿里巴巴的大神开发的开源的Json处理工具包,包括“序列化”和“反序列化”两部分,号称最快。但是我认为没有最快,只有更快,只要这个功能满足我的需求,速度不错就行了,这就是我选择工具的基本标准(不是特别追求性能...)。
FastJson功能强大,完全支持Java Bean、集合、Map、日期、Enum,支持范型,支持自省;无依赖,能够直接运行在Java SE 5.0以上版本;支持Android;开源 (Apache 2.0)。
下面简单说一下FastJson在OOP中的基本使用(非常简单),以下静态方法都是常用的序列化操作,可以用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 parseObject(String text, Class clazz); // 把JSON文本parse为JavaBean public static final JSONArray parseArray(String text); // 把JSON文本parse成JSONArray public static final List parseArray(String text, Class 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。
服务器端从数据库中获取到JavaBean(JAVA中的简单java类,比如Person等)或者JavaBean的集合,用 JSON.toJSONString()将其转成JSON数据格式并传给客户端,客户端的解析就是用到上述的parseObject()方法,第一个参数是对象,第二个参数是JavaBean.class,而集合需要用到parseArray()方法,下面是一个工具类,对这些方法进行了封装,可以直接引用:
import java.util.ArrayList;import java.util.List;import java.util.Map;import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.TypeReference;public class FastJsonTools { /** * 用fastjson 将json字符串解析为一个 JavaBean * * @param jsonString * @param cls * @return */ public static <T> T getBean(String jsonString, Class<T> cls) { T t = null; try { t = JSON.parseObject(jsonString, cls); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } return t; } /** * 用fastjson 将json字符串 解析成为一个 List<JavaBean> 及 List<String> * * @param jsonString * @param cls * @return */ public static <T> List<T> getBeans(String jsonString, Class<T> cls) { List<T> list = new ArrayList<T>(); try { list = JSON.parseArray(jsonString, cls); } catch (Exception e) { // TODO: handle exception } return list; } /** * 用fastjson 将jsonString 解析成 List<Map<String,Object>> * * @param jsonString * @return */ public static List<Map<String, Object>> getListMap(String jsonString) { List<Map<String, Object>> list = new ArrayList<Map<String, Object>>(); try { // 两种写法 // list = JSON.parseObject(jsonString, new // TypeReference<List<Map<String, Object>>>(){}.getType()); list = JSON.parseObject(jsonString, new TypeReference<List<Map<String, Object>>>() { }); } catch (Exception e) { // TODO: handle exception } return list; }}
jar包下载地址:http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.alibaba%22%20AND%20a%3A%22fastjson%22
3 2
- fastjson生成和解析json数据
- FastJson生成和解析JSON数据
- fastjson生成和解析json数据
- FastJson生成和解析JSON数据
- fastjson生成和解析json数据
- fastjson生成和解析json数据
- fastjson生成和解析json数据
- FastJson生成和解析JSON数据
- FastJson——生成和解析Json数据
- 如何使用fastJson来解析JSON格式数据和生成JSON格式数据
- Java构造和解析Json数据-fastjson
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- fastjson生成和解析json数据,序列化和反序列化数据
- 做隧道转发的 正反 两种方法
- 启动另外的一个应用程序的Activity(三种方式)
- xcode 调试时 Debug 常用命令
- 数据库的隔离级别
- Nginx多Server反向代理配置
- FastJson生成和解析JSON数据
- sun.misc.BASE64Decoder 是 Sun 的专用 API,可能会在未来版本中删除
- 寻找最大数(三)
- 长篇小说
- Opengl es 着色器相关
- Cocos2d-x -- 纹理缓存(Texture Cache)
- Java EE 7 教程 第一部分 简介 第1章 概述 第1.8节 Java平台中的Java EE 7 API, 标准版7
- RabbitMQ
- (13) CCAction