阅读量:2
使用Fastjson序列化复杂对象,可以按照以下步骤进行操作:
导入Fastjson库的依赖,可以通过Maven或者Gradle进行添加。
创建一个复杂对象,并设置对象的属性。
使用Fastjson的
toJSONString()
方法将对象序列化为JSON字符串。例如:import com.alibaba.fastjson.JSON; public class Main { public static void main(String[] args) { // 创建一个复杂对象 ComplexObject complexObject = new ComplexObject(); complexObject.setId(1); complexObject.setName("John"); // 序列化复杂对象为JSON字符串 String jsonString = JSON.toJSONString(complexObject); System.out.println(jsonString); } }
输出结果:
{"id":1,"name":"John"}
如果需要自定义序列化的规则,可以使用Fastjson的
@JSONField
注解,例如:import com.alibaba.fastjson.annotation.JSONField; public class ComplexObject { @JSONField(name = "custom_id") private int id; private String name; // getters and setters }
修改后的输出结果:
{"custom_id":1,"name":"John"}
反序列化JSON字符串为复杂对象,可以使用Fastjson的
parseObject()
方法。例如:import com.alibaba.fastjson.JSON; public class Main { public static void main(String[] args) { // JSON字符串 String jsonString = "{\"id\":1,\"name\":\"John\"}"; // 反序列化JSON字符串为复杂对象 ComplexObject complexObject = JSON.parseObject(jsonString, ComplexObject.class); System.out.println(complexObject.getId()); System.out.println(complexObject.getName()); } }
输出结果:
1 John
如果需要自定义反序列化的规则,可以使用Fastjson的
@JSONField
注解,例如:import com.alibaba.fastjson.annotation.JSONField; public class ComplexObject { @JSONField(name = "custom_id") private int id; private String name; // getters and setters }
修改后的JSON字符串:
String jsonString = "{\"custom_id\":1,\"name\":\"John\"}";
修改后的输出结果:
1 John
这是使用Fastjson序列化和反序列化复杂对象的基本步骤,根据需求可以进行相应的调整和扩展。