在服务器端,我有一个Asp.Net Web应用程序,WebMethod返回一个像这样序列化的Json字符串:
Object { d= "[{"Id":"1","Name":"COMERCIAL BANK"},
{"Id":"2","Name":"AZTEC BANK"},
{"Id":"3","Name":"EL SALVADOR BANK"}]" }
当我尝试使用var mappedBanks = ko.mapping.fromJSON(data.d)
映射该结果,然后使用console.log(mappedBanks)
我打印的所有内容都是c()
,就像那个应该是数组的mappedBanks一样,没有元素因为我可以迭代它,当我尝试打印第一个元素时,控制台会说undefined
。 Json有问题吗?或者我没有正确映射它。
答案 0 :(得分:2)
ko.mapping.toJSON
要求第一个参数是对象,而不是数组。您的选择是使您的JSON编码数组成为属性值。
var mappedBanks = ko.mapping.fromJS({ items: JSON.parse(data.d) });
console.log(mappedBanks.items);