fastjson將java對象與json字符串相互轉換


1、pom.xml文件添加依賴

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.62</version>
</dependency>

 

2、將對象轉為json格式的字符串

注意:JSONobject.toJSONString(object xx) 將對象轉為json格式的字符串,使用fastjson序列化對象時,在序列化的時候,fastjson會先利用反射找到對象類的所有get方法,接下來去掉get前綴,然后首字母小寫,作為json的每個key值,而get方法的返回值作為value。添加到json中。

所以我們需要設置對象的set get方法

 

錯誤代碼:

package com.testdemo;

import com.alibaba.fastjson.JSONObject;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;


public class FastJson1 {
    public static void main(String[] args) {

        Teacher t2 =new Teacher(20,"李四");
     //將對象轉為json字符串
        System.out.println(JSONObject.toJSONString(t2));    
    }
}



@AllArgsConstructor
@NoArgsConstructor
class Teacher{
    
    //年齡+姓名
    int age;
    String name;
}

===結果===
{}

 

正確代碼:

通過@Data注解自動實現set get方法

public class FastJson1 {
    public static void main(String[] args) {

        Teacher t2 =new Teacher(20,"李四");
        System.out.println(JSONObject.toJSONString(t2));

    }
}

@Data
@AllArgsConstructor
@NoArgsConstructor
class Teacher{

    //年齡+姓名
    int age;
    String name;
}

==結果===
{"age":20,"name":"李四"}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM