自己挖坑自己跳 之JsonMappingException: (was java.lang.NullPointerException) (through reference chain:)


  在Web項目中,我們經常會設計一些與界面相對應的JavaBean作為Entity,而為了兼容前台傳入的空值,有些字段我們會用包裝類型而不是基本類型。可是往往我的Entity已經設計完成,很多時候我們會在原來的Entity基礎上修改字段返回值類型,而不是刪去重寫。於是問題就來了,一些大意的同學僅僅把屬性的基本類型(如long)改為包裝類型(如Long),而並沒有將setter/getter的類型一起修改。

  這種情況會報錯,而且報的錯經常會讓人摸不着頭腦。下面列舉了一種情況,是利用com.fasterxml.jackson將Entity序列化為Json字符串時出現上述疏忽報的錯誤:

com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: Student["sid"])

  我的Entity如下:

public class Student {
	private Long sid;
	private String name;

	public long getSid() {
		return sid;
	}
	public void setSid(long sid) {
		this.sid = sid;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}

  這種Entity的寫法會在不同場合報不同的錯誤,本文僅列出這一種情況,后續遇到再補充。

  共勉!

 

Edit by Jimmy

2014.09.18

 


免責聲明!

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



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