欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

FastJSON常用API介绍以及示例

程序员文章站 2022-07-15 15:59:07
...

一、前言

     Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。

     主要特点:

  1. 快速FAST (比其它任何基于Java的解析器和生成器更快,包括jackson)
  2. 强大(支持普通JDK类包括任意Java Bean Class、Collection、Map、Date或enum)
  3. 零依赖(没有依赖其它任何类库除了JDK)
  4. 开源,使用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
以上方法如有错误,欢迎指正,谢谢!