FastJSON常用API介绍以及示例
2017-10-21 16:52
423 查看
一、前言
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。主要特点:
快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)
零依赖(没有依赖其它任何类库除了JDK)
开源,使用Apache License 2.0协议开源。
二、常用API介绍
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。
fastJson下载地址:https://github.com/alibaba/fastjson
三、示例
1、构建book对象,本文所有示例都以该对象为范例进行讲解
import java.util.List; /** * Created by zjx on 2017/10/21. */ public class Book { /** * 书籍id */ private int bookId; /** * 书名 */ private String title; /** * 作者集合 */ private List<String> authors; public int getBookId() { return bookId; } public void setBookId(int bookId) { this.bookId = bookId; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public List<String> getAuthors() { return authors; } public void setAuthors(List<String> authors) { this.authors = authors; } }
2、示例讲解
初始化book对象Book book = new Book(); book.setBookId(1); book.setTitle("一本书读完最美古诗词"); book.setAuthors(new ArrayList<String>(){{add("云葭");add("青黎");}});
1)对象转json
String jsonString = JSON.toJSONString(book);
2)json字符串转JavaBean对象
//构造一个json String json = "{'bookId':5,'title':'一本书读完最美古诗词','authors':['云葭','青黎']}"; //调用parseObject方法把json转换成book对象 Book book = JSON.parseObject(json,Book.class);
3)数组转换为json字符串
Integer[] test = new Integer[]{1,2,3}; //调用toJSONString方法 String testJson = JSON.toJSONString(test);
4)json字符串转换为集合
//调用parseArray方法 List<Integer> testArray = JSON.parseArray(testJson,Integer.class);
5)将JavaBean转换为JSONObject或者JSONArray
//使用tojson方法转换为JSONObject,注意返回值是Object,toJsonString返回值是String Object object = JSON.toJSON(book); //使用tojson方法转换为JSONArray List<Book> books = new ArrayList<Book>(){{add(book);}}; Object object = JSON.toJSON(books);
三、结束语
以上就是在项目中运用的比较多的FastJSON的一些api,目前就介绍到这里了。如果想深入学习,可以访问https://github.com/alibaba/fastjson/wiki。以上方法如有错误,欢迎指正,谢谢!
相关文章推荐
- es6系列教程_ Map详解以及常用api介绍
- GCD常用基本API介绍以及创建单例的两种方式
- 常用RAID技术介绍以及示例演示(有附图)
- java获得数据库信息常用API(DatabaseMetaData)示例
- Servlet常用API以及相关总结
- 个人常用iOS第三方库以及XCode插件介绍
- 使用html5中video自定义播放器必备知识点总结以及JS全屏API介绍
- Rexsee API介绍:Android定时任务Alarm,附基本的闹钟功能示例
- 常用iOS第三方库以及XCode插件介绍
- windows注册表结构介绍以及常用技巧
- ibatis学习(一)--ibatis介绍以及示例
- Atitit.常用语言的常用内部api 以及API兼容性对源码级别可移植的重要性 总结
- Java 文件I/O常用API 以及上传下载路径问题汇总
- SharePoint Client Object Model API 介绍以及工作原理解析
- API介绍:iBeacons、Sprite Kit、Game Center以及AirDrop等
- Ajax的JSP示例以及相关知识介绍,适合于入门者
- BCB API技巧,只介绍了几个常用的函数
- Hibernate的常用关键类以及接口介绍
- ExtJs window 使用API以及window常用属性和方法
- 个人常用iOS第三方库以及XCode插件介绍