【发布时间】:2016-09-18 10:58:26
【问题描述】:
简单地说,我正在尝试解析从 Spring 控制器通过 ModelAndView 对象传递的复合对象列表,如下所示
弹簧部分
ModelAndView view = new ModelAndView("my view");
List<ActionHistory> histories = myService.getListData();
view.addObject("histories", histories);
return view;
在 Jquery 中我尝试了几种替代方法,首先使用以下行从 List 构造 JSON:
var list = JSON.stringify('${histories}');
console.log(histories);
控制台正在返回
“[com.companyname.projectname.domains.ActionHistory@48126327]”
TypeError: 'in' 操作数 a 无效
我也尝试从 jquery-json 中包含“jquery.json.min.js”作为讨论的主题的建议,但在 Serializing to JSON in jQuery 上得到相同的错误
var histories = $.toJSON('${histories}');
console.log(histories);
【问题讨论】:
-
你可以试试这个
var list = JSON.stringify('histories'); console.log(histories); -
如果你的意思是在解析它返回之前记录列表(就像来自控制器一样)[com.sbm.muras.domains.ActionHistory@64b4ac3b]
-
将您的数据设置为哈希图并将此 hasmap 引用设置为 json 对象 ref 并将其发送到您可以字符串化的 js
-
您能否解释一下 list 上的问题是什么以及为什么它应该适用于 MAP 而不适用于 list ?。
-
你必须打印 json 字符串。 javascript 在你的 spring 完成它的工作很久之后在浏览器中运行