利用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 简单使用
原文地址:https://www.cnblogs.com/jason-dong/p/10148551.html