您的位置:首页 > Web前端 > JavaScript

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

以上方法如有错误,欢迎指正,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息