如何为Jackson JSON设置格式化程序



有了这段javascript代码,我可以毫无问题地在SpringMVC中发帖。

var oc = {
  id: 1,
  date: "2016-04-03",
  type: "1",
};
$.ajax({
    url: "addOC.do",
    type: "POST",
    contentType: 'application/json',
    data: JSON.stringify(oc),
    dataType:"json",
    success: function(object){
       alert();
    }
});

现在,OCJava类具有以下结构

public class OC{
    private Integer id;
    private Date date;
    private Person person ;
    private String type;
    // getters and setters
}
public class Person{
    private Integer id;
    private String name;
    // getters and setters
}

当我尝试做一个像这样的帖子时

var oc = {
  id: 1,
  date: "2016-04-03",
  type: "1",
  person: 1,
};

没有调用Person格式化程序。我知道这一点是因为如果序列化oc变量,然后将其发布如下:

var form = "id=1&date="2016-04-03"&type="1"&person=1";
$.ajax({
    url: "addOC.do",
    type: "POST",
    data: form,
    dataType:"json",
    success: function(object){
       alert();
    }
});

调用Person格式化程序时没有问题。

如何为Jackson JSON设置格式化程序?

您必须发布嵌套的person对象,如下所示:

var oc = {
  id: 1,
  date: "2016-04-03",
  person: {id:2, name:"name"},
  type: "1",
};

最新更新