FastJSON 转换使用

`package com.yishan.json;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**

  • @Author yishan
  • @Date 2021/9/22 0022 10:43
  • @Version 1.0
    */

public class JsonDemo {

public static void main(String[] args) {

//JavaBean2JsonString();
//JsonString2JavaBean();
//JavaBean2JSONObject();
//JsonObject2JavaBean();

}

/**
* javaBean转jsonString---toJSONString()
*/
private static void JavaBean2JsonString() {
List list = new ArrayList<>();
list.add(new Student("111","yishan","24","上海",new Date()));
list.add(new Student("111","yishan","24","上海",new Date()));
System.out.println(list);
//[Student(id=111, name=yishan, age=24, address=上海, birthday=Wed Sep 22 11:10:16 CST 2021), Student(id=111, name=yishan, age=24, address=上海, birthday=Wed Sep 22 11:10:16 CST 2021)]
String s = JSON.toJSONString(list);
System.out.println(s);
//[{"address":"上海","age":"24","birthday":1632280216104,"id":"111","name":"yishan"},{"address":"上海","age":"24","birthday":1632280216104,"id":"111","name":"yishan"}]
}

/**
* jsonString转javaBean---JSON.parseObject()
* 必须要有默认的无参构造函数,否则反序列化会出错---com.alibaba.fastjson.JSONException: default constructor not found.
*/
private static void JsonString2JavaBean() {
Student student = new Student("111", "yishan", "24", "上海", new Date());
String jsonString = JSON.toJSONString(student);
Student s = JSON.parseObject(jsonString, Student.class);
System.out.println(s);
//Student(id=111, name=yishan, age=24, address=上海, birthday=Wed Sep 22 00:00:00 CST 2021)
}

/**
* javaBean转jsonObject---JSON.toJSON()
*/
private static void JavaBean2JSONObject() {
Student student = new Student("111", "yishan", "24", "上海", new Date());
//方式一:可以先转String,然后转jsonObject,之后通过key获取对应的value
JSONObject jsonObject = JSON.parseObject(JSON.toJSONString(student));
System.out.println(jsonObject.getString("NAME")); //yishan
//方式二:直接转为jsonObject,通过key获取对应的value
JSONObject json = (JSONObject) JSON.toJSON(student);
System.out.println(json.getString("NAME")); //yishan
}

/**
* jsonObject转javaBean---JSON.toJavaObject()
* 必须要有默认的无参构造函数,否则反序列化会出错
*/
private static void JsonObject2JavaBean() {
Student student = new Student("111", "yishan", "24", "上海", new Date());
JSONObject jsonObject = (JSONObject) JSON.toJSON(student);
//方式一:jsonObject转String,然后转为javaBean
Student student1 = JSON.parseObject(jsonObject.toJSONString(), Student.class);
System.out.println(student1);
//方式二:jsonObject直接转javaBean
Student student2 = JSON.toJavaObject(jsonObject, Student.class);
System.out.println(student2);
}

}
`

posted @ 2021-09-23 14:15  yishan99  阅读(119)  评论(0)    收藏  举报