Java中fastjson的toJSONString結果為空{}


1.背景

1.1 一個實體類

public class User {
    @JSONField(name = "ID")
    private String id;
    private String name;
    private String age;
    @JSONField(name = "LIKE_FOOD")
    private String likeFood;
    private Job job;

    public User(String id, String name, String age, String likeFood, Job job) {
        this.id = id;
        this.name = name;
        this.age = age;
        this.likeFood = likeFood;
        this.job = job;
    }

    @Override
    public String toString(){
        return JSONObject.toJSONString(this,true);
    }
}

1.2 用JSON.toJSONString()獲取的結果為空

public class JsonTest {
    public static void main(String[] args) {
       User user = new User("1", "yang", "18", "apple", new Job("bank", "18000"));
       System.out.println(user.toString());
    }
}

2.解決

  • 檢查導入包類型,不要混用 com.alibaba.fastjson和org.json等
  • 檢查對象是否有get方法

3.結果

給user類加上@Data注解后再運行

{
	"ID":"1",
	"LIKE_FOOD":"apple",
	"age":"18",
	"job":{
		"jobName":"bank",
		"salary":"18000"
	},
	"name":"yang"
}


免責聲明!

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



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