fastjson 简单使用

Posted 生心无住

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了fastjson 简单使用相关的知识,希望对你有一定的参考价值。

利用fastjson 可以将对象转换为 json String,并可以将 json String 转为相应的对象

package com.jason.test;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;

import java.util.ArrayList;

public class FastJsonTest {
    public static void main(String[] args) {
        User user = new User("jason", "123456");
        String json = JSON.toJSONString(user, SerializerFeature.WriteNullListAsEmpty);
        //String json = JSON.toJSONString(user);
        System.out.println(json); //{"name":"jason","passwd":"123456"}

        User user2 = new User("dong", "123456");
        ArrayList<User> list = new ArrayList<>(2);
        list.add(user);
        list.add(user2);
        String listJson = JSON.toJSONString(list);
        System.out.println(listJson);//[{"name":"jason","passwd":"123456"},{"name":"dong","passwd":"123456"}]

        UserFoo uf = JSON.parseObject(json, UserFoo.class);
        System.out.println(uf);//UserFoo{name=‘jason‘, passwd=‘123456‘}
    }
}


class User {
    private String name;
    private String passwd;

    public User(String name, String passwd) {
        this.name = name;
        this.passwd = passwd;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPasswd() {
        return passwd;
    }

    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }

}

class UserFoo {
    private String name;
    private String passwd;

    public UserFoo() {
    }

    public UserFoo(String name, String passwd) {
        this.name = name;
        this.passwd = passwd;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPasswd() {
        return passwd;
    }

    public void setPasswd(String passwd) {
        this.passwd = passwd;
    }

    @Override
    public String toString() {
        return "UserFoo{" +
                "name=‘" + name +  +
                ", passwd=‘" + passwd +  +
                };
    }
}

要转换为json String 的对象一定要有set get 方法,

JSON.parseObject 可以将json string 转为对应的object

该方法有两个参数

JSON.parseObject(String text, Class<T> clazz),text为要转换的json string, clazz 要转换成的类

JSON.toJSONString (object  2 jsonString)有两个重载方法:

toJSONString(Object object, SerializerFeature... features) 除了传入要转换的对象,还可以传入SerializerFeature 枚举,比如,将null list 转为空
toJSONString(Object object)只传入对象即可


以上是关于fastjson 简单使用的主要内容,如果未能解决你的问题,请参考以下文章

fastjson 的简单使用

高性能JSON框架之FastJson的简单使用

fastjson简单使用demo,@JSONField注解属性字段上与setget方法上。实体类toString(),实体类转json的区别;_下划线识别

FastJSON 简单使用

深拷贝的最简单实现(使用fastjson)

JSON解析工具——fastjson的简单使用