在服务器端,我有一个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()
,就像被映射的Banks一样,应该是一个数组,没有任何元素,因为我可以对其进行迭代,并且在尝试时要打印第一个元素,控制台会显示undefined
。杰森有问题吗?或我没有正确地映射它。 最佳答案
ko.mapping.toJSON
要求第一个参数是对象,而不是数组。您的选择是使JSON编码的数组成为属性值。
var mappedBanks = ko.mapping.fromJS({ items: JSON.parse(data.d) });
console.log(mappedBanks.items);