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<Student> 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 @   yishan99  阅读(97)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示