使用fastJSON

本文通过实例展示了 FastJSON 如何将 Java 对象序列化为 JSON 字符串,并探讨了不同参数设置下序列化结果的区别。文章还介绍了 FastJSON 处理复杂数据结构如 List、Map 和 Set 的方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.ylchou.testfastjson;

public class Person {

 private Student student;
 private Teacher teacher;
 public Student getStudent() {
  return student;
 }
 public void setStudent(Student student) {
  this.student = student;
 }
 public Teacher getTeacher() {
  return teacher;
 }
 public void setTeacher(Teacher teacher) {
  this.teacher = teacher;
 }
 
}


 

package com.ylchou.testfastjson;

public class Student {
	private int id;
	private String name;
	private int age;
	private Dog dog;
	
	public Dog getDog() {
		return dog;
	}
	public void setDog(Dog dog) {
		this.dog = dog;
	}
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
}


 

package com.ylchou.testfastjson;

public class Teacher {
	private int id;
	private String name;
	private int age;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
}


 

package com.ylchou.testfastjson;

public class Dog {

 private int id;
 private String name;
 private int age;
 
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
}



package com.ylchou.testfastjson;

public class Dog {

private int id;
private String name;
private int age;

public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}


 

package com.ylchou.testfastjson;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;

public class TestFastJSON {

 public static void p(String str){
  System.out.println(str);
 }
 
 public static void main(String[] args) {
  Long time1 = System.currentTimeMillis();
  
  Student student = new Student();
  Teacher teacher = new Teacher();
  Person person = new Person();
  Dog dog = new Dog();
  
  student.setAge(12);
  student.setId(001);
  student.setName("ylchou");
  student.setDog(dog);
  
  teacher.setAge(25);
  teacher.setId(007);
  teacher.setName("lili");
  
  person.setStudent(student);
  person.setTeacher(teacher);
  
  dog.setAge(2);
  dog.setId(999);
  dog.setName("小黄");
  
  String studentJson = JSON.toJSONString(student, true);
  String studentJson2 = JSON.toJSONString(student, false);
  String studentJson3 = JSON.toJSONString(student);//默认为false
  p("studentJson---------------------------------------");
  p(studentJson);p("");
  p("studentJson2---------------------------------------");
  p(studentJson2);p("");
  p("studentJson3---------------------------------------");
  p(studentJson3);p("");
  
  String teacherJson = JSON.toJSONString(teacher, true);
  p("teacherJson---------------------------------------");
  p(teacherJson);p("");
  
  String personJson = JSON.toJSONString(person, true);
  p("personJson---------------------------------------");
  p(personJson);p("");
  
  String dogJson = JSON.toJSONString(dog, true);
  p("dogJson---------------------------------------");
  p(dogJson);p("");
  
  List<Object> list = new ArrayList<Object>();
  list.add("ylchou");
  list.add("lili");
  list.add("小黄");
  list.add(dog);
  list.add(teacher);
  list.add(student);//有问题
  list.add(person);//有问题
  String listJson = JSON.toJSONString(list, true);
  p("listJson---------------------------------------");
  p(listJson);p("");
  
  Map<String,Object> map = new HashMap<String, Object>();
  map.put("ylchou", "湖北");
  map.put("小黄", dog);
  String mapJson = JSON.toJSONString(map, true);
  p("mapJson----------------------------------------");
  p(mapJson);p("");
  
  Set<Object> set = new HashSet<Object>();
  set.add("ylcohu");
  set.add(student);
  set.add(person);
  String setJson = JSON.toJSONString(set,true);
  p("setJson----------------------------------------");
  p(setJson);p("");
  
  String mapToArray = JSONArray.toJSONString(map, true);
  p("mapToArray----------------------------------------");
  p(mapToArray);p("");
  
  Long time2 = System.currentTimeMillis();
  System.out.println("所用时间:"+(time2-time1)+"毫秒");
 }
}


控制台打印结果:

studentJson---------------------------------------
{
 "age":12,
 "dog":{
  "age":2,
  "id":999,
  "name":"小黄"
 },
 "id":1,
 "name":"ylchou"
}

studentJson2---------------------------------------
{"age":12,"dog":{"age":2,"id":999,"name":"小黄"},"id":1,"name":"ylchou"}

studentJson3---------------------------------------
{"age":12,"dog":{"age":2,"id":999,"name":"小黄"},"id":1,"name":"ylchou"}

teacherJson---------------------------------------
{
 "age":25,
 "id":7,
 "name":"lili"
}

personJson---------------------------------------
{
 "student":{
  "age":12,
  "dog":{
   "age":2,
   "id":999,
   "name":"小黄"
  },
  "id":1,
  "name":"ylchou"
 },
 "teacher":{
  "age":25,
  "id":7,
  "name":"lili"
 }
}

dogJson---------------------------------------
{
 "age":2,
 "id":999,
 "name":"小黄"
}

listJson---------------------------------------
[
 "ylchou",
 "lili",
 "小黄",
 {
  "age":2,
  "id":999,
  "name":"小黄"
 },
 {
  "age":25,
  "id":7,
  "name":"lili"
 },
 {
  "age":12,
  "dog":{"$ref":"$[3]"},
  "id":1,
  "name":"ylchou"
 },
 {
  "student":{"$ref":"$[5]"},
  "teacher":{"$ref":"$[4]"}
 }
]

mapJson----------------------------------------
{"ylchou":"湖北","小黄":{
 "age":2,
 "id":999,
 "name":"小黄"
}}

setJson----------------------------------------
[{
 "student":{
  "age":12,
  "dog":{
   "age":2,
   "id":999,
   "name":"小黄"
  },
  "id":1,
  "name":"ylchou"
 },
 "teacher":{
  "age":25,
  "id":7,
  "name":"lili"
 }
},{"$ref":"$[0].student"},"ylcohu"]

mapToArray----------------------------------------
{"ylchou":"湖北","小黄":{
 "age":2,
 "id":999,
 "name":"小黄"
}}

所用时间:93毫秒


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值