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)只传入对象即可


posted @ 2018-12-20 12:00  生心无住  阅读(338)  评论(0编辑  收藏  举报