【问题标题】:Knockout.js mapping JSON objects - only the first arrayKnockout.js 映射 JSON 对象 - 仅第一个数组
【发布时间】:2012-06-12 12:21:56
【问题描述】:

这是我从我的服务收到的 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”,因为服务器还可以在第一个位置返回“Companies”JSON 数组。

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

【问题讨论】:

  • 当你说“服务器也可以在第一个位置返回一个“公司”JSON数组”时,你是什么意思?

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


【解决方案1】:

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

$.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...
        }

    });

});

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 2012-02-06
      • 2012-05-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-09
      • 1970-01-01
      • 2019-04-28
      相关资源
      最近更新 更多