Java 使用jquery/spring/jackson将json转换为pojo
“我在中获取的输出”对话框显示:Java 使用jquery/spring/jackson将json转换为pojo,java,json,spring,jackson,Java,Json,Spring,Jackson,“我在中获取的输出”对话框显示: public @ResponseBody MyDTO saveDTO(@Valid final MyDTO myDTO,BindingResult result, Model model){ System.out.println(myDTO.getMyField + " " + myDTO.getSecondField; return new MyDTO(); } 虽然我的sys out控制台输出显示两个字段都为空,但json尚未绑定!!!为什么?DTO
public @ResponseBody MyDTO saveDTO(@Valid final MyDTO myDTO,BindingResult result, Model model){
System.out.println(myDTO.getMyField + " " + myDTO.getSecondField;
return new MyDTO();
}
虽然我的sys out控制台输出显示两个字段都为空,但json尚未绑定!!!为什么?DTO本身只有两个带有适当getter/setter的私有字段为
MyDTO添加代码。myDTO字段为空,sys out print命令pritns out null。我正在重新调整一个新对象以检查正确的映射。我认为问题出在我的序列化程序/反序列化程序中
{"myField":null,"secondField":null} //new empty dto converted and returned spring
{"myField":"RU","secondField":"13-02-12"} //submitted data, a form converted to json
{"myField":null,"secondField":null} //new empty dto converted and returned spring
{"myField":"RU","secondField":"13-02-12"} //submitted data, a form converted to json
//js
var mySubmitData ='{"myField":"myFieldValue", "secondField":"secondFieldValue"}';
//dto
public class MyDTO implements Serializable {
private String myField;
private String secondField;
MyDTO() {} //important
public void setMyField() { ...}
public void setSecondField() { ... }
}
//web resource
public @ResponseBody MyDTO saveDTO(@Valid final MyDTO myDTO,BindingResult result, Model model){
System.out.println(myDTO.getMyField + " " + myDTO.getSecondField;
return myDTO;
//return new MyDTO(); //it's empy object if you don't have default values
}