Knockout.js映射JSON对象 - 只有第一个数组

时间:2012-06-08 12:31:02

标签: json knockout.js knockout-mapping-plugin

这是我从我的服务中收到的JSON 它将包含“first”-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”,因为服务器也可以在第一个位置返回“公司”JSON数组。

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

2 个答案:

答案 0 :(得分: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...
        }

    });

});

答案 1 :(得分:0)

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

请参阅http://knockoutjs.com/documentation/plugins-mapping.html"高级用法"