我在使用Spring 3.2.0和Jackson 2.1.1反序列化對象數組時遇到問題。 當我點擊控制器與對象數組它拋出「無法實例化bean類。沒有默認構造函數找到」。我的Pojo也有默認的構造函數。我正在使用MappingJackson2HttpMessageConverter在調度程序 - 小服務程序中進行JSON處理。春季Json反序列化問題3.2.0
POJO的:
public class Student{
private String rollNum;
private String firstName;
private String lastName;
public Student(){
}
/**
* @return the firstName
*/
public String getFirstName() {
return firstName;
}
/**
* @param firstName the firstName to set
*/
public void setFirstName(String firstName) {
this.firstName = firstName;
}
/**
* @return the lastName
*/
public String getLastName() {
return lastName;
}
/**
* @param lastName the lastName to set
*/
public void setLastName(String lastName) {
this.lastName = lastName;
}
/**
* @return the rollNum
*/
public String getRollNum() {
return rollNum;
}
/**
* @param rollNum the rollNum to set
*/
public void setRollNum(String rollNum) {
this.rollNum = rollNum;
}
}
控制器類:
public @ResponseBody
String saveStudentName(
final @ModelAttribute Student[] student){
//code goes here
}
該服務由iOS應用程序擊中。當我用單個對象(@ModelAttribute Student學生)打相同的服務時,它工作正常。但是,隨着對象的數組擊中,它會拋出異常,因爲
org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [[Lcom.student.pojo.Student;]: No default constructor found;
客戶端輸入
[{"rollNum":"12","firstName":"qweqw","lastName":"adsf"},{"rollNum":"23","firstName":"rty","lastName":"fghj"}]
和客戶端獲取下面的錯誤作爲響應
Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Invalid value around character 0.) UserInfo=0x7522680 {NSDebugDescription=Invalid value around character 0.}
請一些人告訴在哪裏錯了。如果控制器參數正確,請告訴我可以發送給控制器的輸入格式。
在此先感謝。
你爲什麼不嘗試接受服務類的學生,而不是[]列出。 –