fastjson怎么序列化复杂对象

avatar
作者
筋斗云
阅读量:2

使用Fastjson序列化复杂对象,可以按照以下步骤进行操作:

  1. 导入Fastjson库的依赖,可以通过Maven或者Gradle进行添加。

  2. 创建一个复杂对象,并设置对象的属性。

  3. 使用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"} 
  4. 反序列化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序列化和反序列化复杂对象的基本步骤,根据需求可以进行相应的调整和扩展。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!