fastjson怎么序列化復(fù)雜對(duì)象

小億
184
2023-12-21 05:55:19

使用Fastjson序列化復(fù)雜對(duì)象,可以按照以下步驟進(jìn)行操作:

  1. 導(dǎo)入Fastjson庫(kù)的依賴,可以通過(guò)Maven或者Gradle進(jìn)行添加。

  2. 創(chuàng)建一個(gè)復(fù)雜對(duì)象,并設(shè)置對(duì)象的屬性。

  3. 使用Fastjson的toJSONString()方法將對(duì)象序列化為JSON字符串。例如:

    import com.alibaba.fastjson.JSON;
    
    public class Main {
        public static void main(String[] args) {
            // 創(chuàng)建一個(gè)復(fù)雜對(duì)象
            ComplexObject complexObject = new ComplexObject();
            complexObject.setId(1);
            complexObject.setName("John");
            
            // 序列化復(fù)雜對(duì)象為JSON字符串
            String jsonString = JSON.toJSONString(complexObject);
            System.out.println(jsonString);
        }
    }
    

    輸出結(jié)果:

    {"id":1,"name":"John"}
    

    如果需要自定義序列化的規(guī)則,可以使用Fastjson的@JSONField注解,例如:

    import com.alibaba.fastjson.annotation.JSONField;
    
    public class ComplexObject {
        @JSONField(name = "custom_id")
        private int id;
        private String name;
        
        // getters and setters
    }
    

    修改后的輸出結(jié)果:

    {"custom_id":1,"name":"John"}
    
  4. 反序列化JSON字符串為復(fù)雜對(duì)象,可以使用Fastjson的parseObject()方法。例如:

    import com.alibaba.fastjson.JSON;
    
    public class Main {
        public static void main(String[] args) {
            // JSON字符串
            String jsonString = "{\"id\":1,\"name\":\"John\"}";
            
            // 反序列化JSON字符串為復(fù)雜對(duì)象
            ComplexObject complexObject = JSON.parseObject(jsonString, ComplexObject.class);
            System.out.println(complexObject.getId());
            System.out.println(complexObject.getName());
        }
    }
    

    輸出結(jié)果:

    1
    John
    

    如果需要自定義反序列化的規(guī)則,可以使用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\"}";
    

    修改后的輸出結(jié)果:

    1
    John
    

這是使用Fastjson序列化和反序列化復(fù)雜對(duì)象的基本步驟,根據(jù)需求可以進(jìn)行相應(yīng)的調(diào)整和擴(kuò)展。

0