Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在SpringMVC中将json解析为具有其他对象属性的java对象_Javascript_Json_Spring_Spring Mvc - Fatal编程技术网

Javascript 在SpringMVC中将json解析为具有其他对象属性的java对象

Javascript 在SpringMVC中将json解析为具有其他对象属性的java对象,javascript,json,spring,spring-mvc,Javascript,Json,Spring,Spring Mvc,我有一个元素类型的对象,它有一个主题类型的属性。当我在视图中创建一个新元素时,它由一个主题select表示,主键是select中项目的值,当我使用json发送时,spring尝试创建一个对象元素,然后显示下一个错误 /元素:org.codehaus.jackson.map.JsonMappingException:无法构造com.example.Theme的实例,问题:未找到合适的创建者方法 在[来源:org.mortbay.jetty.HttpParser]$Input@dd0099;第1行,

我有一个元素类型的对象,它有一个主题类型的属性。当我在视图中创建一个新元素时,它由一个主题select表示,主键是select中项目的值,当我使用json发送时,spring尝试创建一个对象元素,然后显示下一个错误

/元素:org.codehaus.jackson.map.JsonMappingException:无法构造com.example.Theme的实例,问题:未找到合适的创建者方法 在[来源:org.mortbay.jetty.HttpParser]$Input@dd0099;第1行,第31列]

这是我在SpringMVC中的代码

public class Element {

private String name;

private String type;

private Theme theme;

private String description;

     // Get - Set
}
主题课

public class Theme {

private String name;

private String description;

    // Get - Set
 }
控制器中的方法

@RequestMapping(method=RequestMethod.POST)
public @ResponseBody String create(@RequestBody Element element){
    elementManager.saveElement(element);
    return "exito";
}
javascript就是这样

$("#element").submit(function() {
    var element = $(this).serializeObject();
    $.postJSON("element", element, function(data) {
    });
return false;   
});

我希望有人能帮助我。

根据您向服务器发送的包含JSON的评论,我认为问题在于JSON本身

您的服务器需要一个如下所示的值:

{"name":"rooms","type":"Doc","theme":{"name":"themeName", "description":"themeDescription"},"descrip‌​tion":"They are realy big"}

您应该从存储对象主题的位置获取对象主题,并创建适当的JSON。如果在客户机上查找
主题
,则需要将元素更改为具有
字符串
主题属性,并在客户机上进行查找。

您的主题类是什么样子的?是简单的POJO,已经编辑了POST,那么即将出现的实际JSON呢?这是什么样子的?这是发送到服务器并接收spring的json,属性主题是对象主题{“name”:“rooms”,“type”:“Doc”,“theme”:“aglub19hcHBfaWRyCwsSBVRoZW1lGAkM”,“description”:“它们真大”}