Javascript 转换JSON数组时出错
我有以下功能:Javascript 转换JSON数组时出错,javascript,asp.net,json,Javascript,Asp.net,Json,我有以下功能: function pqGrid_getData(grid) { debugger; var ret = { parentData: null, childData: [] }; data = grid.option('dataModel.data'); //data of master grid. ret.parentData = data; for (var i = 0; i < data.length; i++) {
function pqGrid_getData(grid)
{
debugger;
var ret = { parentData: null, childData: [] };
data = grid.option('dataModel.data'); //data of master grid.
ret.parentData = data;
for (var i = 0; i < data.length; i++) {
var rd = data[i],
dt = rd.pq_detail,
child;
if (dt && dt.child) {
//dt.child is reference to the DOM node of the child grid.
child = $(dt.child).data('pqGrid');//reference to instance of child grid.
if (child != null) {
var dataChild = child.option('dataModel.data');//data of child grid.
ret.childData.push(dataChild);
}
}
}
debugger;
return ret;
}
但是,当我尝试在服务器上使用以下命令(使用NewtonSoft)对其进行理想化时:
List<MyObj> lstPol = JsonConvert.DeserializeObject<List<MyObj>>(jsn);
List lstPol=JsonConvert.DeserializeObject(jsn);
我得到以下错误:
其他信息:无法将当前JSON数组(例如[1,2,3])反序列化为类型“MyObj”,因为该类型需要JSON
对象(例如{“名称”:“值”})进行正确的反序列化。
雷特·帕兰达工作得很好。
我猜错误在于chilData是一个数组而不是一个普通对象,但无法找到解决方案。谢谢尝试
反序列化对象
而不是反序列化对象
,因为在启动花括号之前JSON属性包装在2个数组中。因为dataChild
是一个列表。您正在尝试将列表
转换为列表
。
List<MyObj> lstPol = JsonConvert.DeserializeObject<List<MyObj>>(jsn);