fastjson怎么序列化复杂对象

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

阅读剩余
THE END