求助:json字符串
页面里用了easyui的datagrid,大家帮忙看一下下面代码,options.columns = eval(dd.columns);是正常的,
最下面现在已经注释掉的代码哪里错了?(字符串a是后台返回的,我想让后台返回包括columns:打头的整个字符串。)
var a ="[[{ field: '设备', title: '设备', align: 'center', width: 80 },
{ field: '数量', title: '数量', align: 'center', width: 40 }]]";
var dd = { "columns": "" + a };
options.columns = eval(dd.columns);
//var ee = eval('"columns": ""' + a);
//options.columns = eval(ee.columns);
------解决方案--------------------
options.columns = eval('('+dd.columns+')');
------解决方案--------------------
由于json是以”{}”的方式来开始以及结束的,在JS中,它会被当成一个语句块来处理,所以必须强制性的将它转换成一种表达式。http://www.cnblogs.com/myjavawork/archive/2011/03/10/1979279.html
------解决方案--------------------
用 json.net 处理
------解决方案--------------------
var a ='[[{ "field": "设备", "title": "设备", "align": "center", "width": 80 }]]'
---------------------------
注意单引号和双引号的使用,不可用错
------解决方案-------------------- eval('('+dd.columns+')');
------解决方案--------------------