1

这是我从我的服务收到的 JSON 它将包含“第一个”-Array 和一个 ResponseStatus 数组。

{"Customers":[{"Id":1,"Name":"Thomas","LastName":"Deutsch"},    {"Id":2,"Name":"Julia","LastName":"Baumeistör"}],"ResponseStatus":{}}        

这个第一个 JSON 数组是用 ko.mapping 映射的

$.getJSON(self.Url, function (data) {
    ko.mapping.fromJS(data.Customers, {}, self.Items);
});

它工作得很好。但这里是

问题:我不能使用“data.Customers”,因为服务器也可以在第一个位置返回一个“Companies”JSON 数组。

问题:是否可以进行映射,即仅解析“FIRST”数组?我被困住了……

4

2 回答 2

0

这可能适用于您正在尝试做的事情

$.getJSON(self.Url, function (data) {
    $.each(data, function(i, item){

        var customers = getPersonnel(item.Customers);
        var companies = getPersonnel(item.Companies);
        var response = getPersonnel(item.ResponseStatus);

        if(customers != null){
            // Parse JSON here...
        }

        if(companies != null){
            // Parse JSON here...
        }

    });

});
于 2012-06-22T14:54:03.527 回答
0

您可以定义映射插件的行为。

请参阅http://knockoutjs.com/documentation/plugins-mapping.html“高级用法”部分)

于 2012-06-22T15:37:34.117 回答