Alibaba fastjson 序列化与反序列化
发布时间:2020-12-16 19:31:41 所属栏目:百科 来源:网络整理
导读:fastjson在官网的定义号称最小最快 多态的json序列化工具。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。 JSON这个类是fastjson API的入口,主要的功能都通
fastjson在官网的定义号称最小最快 多态的json序列化工具。fastjson采用独创的算法,将parse的速度提升到极致,超过所有json库,包括曾经号称最快的jackson。并且还超越了google的二进制协议protocol buf。 JSON这个类是fastjson API的入口,主要的功能都通过这个类提供。下面是这个类的重要几个方法介绍: package com.alibaba.fastjson; public abstract class JSON { // 将Java对象序列化为JSON字符串,支持各种各种Java基本类型和JavaBean public static String toJSONString(Object object,SerializerFeature... features); // 将Java对象序列化为JSON字符串,返回JSON字符串的utf-8 bytes public static byte[] toJSONBytes(Object object,SerializerFeature... features); // 将Java对象序列化为JSON字符串,写入到Writer中 public static void writeJSONString(Writer writer,Object object,SerializerFeature... features); // 将Java对象序列化为JSON字符串,按UTF-8编码写入到OutputStream中 public static final int writeJSONString(OutputStream os,// Object object,// SerializerFeature... features); } JSON字符串反序列化API package com.alibaba.fastjson; public abstract class JSON { // 将JSON字符串反序列化为JavaBean public static <T> T parSEObject(String jsonStr,Class<T> clazz,Feature... features); // 将JSON字符串反序列化为JavaBean public static <T> T parSEObject(byte[] jsonBytes,// UTF-8格式的JSON字符串 Class<T> clazz,Feature... features); // 将JSON字符串反序列化为泛型类型的JavaBean public static <T> T parSEObject(String text,TypeReference<T> type,Feature... features); // 将JSON字符串反序列为JSONObject public static JSONObject parSEObject(String text); } Demo import com.alibaba.fastjson.*; JSONObject jsonObj = JSON.parSEObject(jsonStr); parse POJO import com.alibaba.fastjson.JSON; Model model = JSON.parSEObject(jsonStr,Model.class); parse POJO Generic import com.alibaba.fastjson.JSON; Type type = new TypeReference<List<Model>>() {}.getType(); List<Model> list = JSON.parSEObject(jsonStr,type); convert POJO to json string import com.alibaba.fastjson.JSON; Model model = ...; String jsonStr = JSON.toJSONString(model); convert POJO to json bytes import com.alibaba.fastjson.JSON; Model model = ...; byte[] jsonBytes = JSON.toJSONBytes(model); write POJO as json string to OutputStream import com.alibaba.fastjson.JSON; Model model = ...; OutputStream os; JSON.writeJSONString(os,model); write POJO as json string to Writer import com.alibaba.fastjson.JSON; Model model = ...; Writer writer = ...; JSON.writeJSONString(writer,model); 总结: 更多关于fastjson的知识可以去w3c去了解:https://www.w3cschool.cn/fastjson/ (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 任何方式使用jjl自定义标签的ajax而不在javascript中复制标
- ruby-on-rails – Rails – PostGIS postgis_adapter几何问
- 《flex与java后台服务器交互之三水书库》(一)
- ruby-on-rails – 设计的database_authenticatable的“延伸
- Heroku上的PostgreSQL希伯来语字典?
- 【沙龙干货】如何在实际工程中使用Swift开发?
- Oracle SqlPlus设置Login.sql的技巧
- c# – WCF REST JSON服务缓存
- OCP-052考试题库汇总(35)-CUUG内部解答版
- iphone – 仍然dyld:库没有加载