1

在服务器端,我有一个 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有问题吗?或者我没有正确映射它。

4

1 回答 1

2

ko.mapping.toJSON要求第一个参数是一个对象,而不是一个数组。您的选择是将 JSON 编码的数组设为属性值。

var mappedBanks = ko.mapping.fromJS({ items: JSON.parse(data.d) });
console.log(mappedBanks.items);
于 2013-10-12T17:32:35.793 回答