Java 通过AJAX调用将JSON对象列表传递给控制器

Java 通过AJAX调用将JSON对象列表传递给控制器,java,json,ajax,rest,classcastexception,Java,Json,Ajax,Rest,Classcastexception,下面是我试图传递的数据 var data=[{“TAG”:“Taxes”,“comments”:“Enter comments”},{“TAG”:“Taxes”,“comments”:“Enter comments”}]; 向控制器发布数据的Ajax调用: $.ajax({ 类型:“POST”, url:“rest/url”, 数据:JSON.stringify(数据), contentType:“应用程序/json;字符集=utf-8”, 数据类型:“json”, 成功:函数(结果){ 控制

下面是我试图传递的数据

var data=[{“TAG”:“Taxes”,“comments”:“Enter comments”},{“TAG”:“Taxes”,“comments”:“Enter comments”}];

向控制器发布数据的Ajax调用:

$.ajax({
类型:“POST”,
url:“rest/url”,
数据:JSON.stringify(数据),
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:函数(结果){
控制台日志(结果);
},
错误:函数(xml、状态、xhr){
obj=(xml.responseText);
}
});
@RequestMapping(value=“/url”,method=RequestMethod.POST,consumes=“application/json”,products=“application/json”)
公共@ResponseBody
LinkedHashMap getData(@RequestBody列表数据,HttpServletRequest1){
System.out.println(“内部控制器:“+data.getClass())//获取Arraylist对象
DataDTO dto1=data.get(0);//获取类强制转换异常

在上面的代码中,我能够以列表格式获取控制器中的数据,但是当我将对象初始化到DTO类时,我得到的是
ClassCastException
您的
DataDTO
类应该如下所示,因为在
AJAX
中,您使用的是
标记和
备注
。但是在
DataDTO
类中t是
标记
备注
。因此,请按以下方式更改您的类:

public class DataDTO {
    private String TAG;
    private String REMARKS;
    //Getters and setters
}

发布代码< > DATADTO < /代码>类。@ StuiHojja是一个简单的POJO类公共数据DATADTO {String Tabor;字符串注释;GETTER和SETTEST}}我已经考虑过这些情况,但我仍然得到这个错误。我实际上在JSON对象中使用下面的代码添加了一行。$Simult.DATA。unSHIFT({标签:‘选择标记’,注释:‘输入新的注释’});但当我在控制台日志中打印数据时,我又得到了一个键[{“TAG”:“Taxes”,“comments”:“Enter comments”、“$$hashKey”:“object:280”}]因此,为了在我的DTO类中处理它,我使用getter和setter@RishiBeohar将
$$hashKey
DataDTO
类中删除,该类由
angularjs
添加。在ajax调用中使用
angular.toJson();
而不是
JSON.stringify()
。仍会收到此错误“请求处理失败;嵌套异常为java.lang.ClassCastException:java.util.LinkedHashMap无法转换为”是否有其他方法可以读取控制器中的JSON对象列表?如果我可以单独读取每个JSON对象,这将非常有帮助。