FastJSON常用API介绍以及示例
程序员文章站
2022-07-15 15:59:07
...
一、前言
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。
以上方法如有错误,欢迎指正,谢谢!