JSON数据具有可选属性

JSON数据具有可选属性,json,mvvm,knockout.js,knockout-mapping-plugin,Json,Mvvm,Knockout.js,Knockout Mapping Plugin,从我的服务器返回的JSON具有可选属性(例如),CompanyNumber有时为NULL,因此它将从特定公司的JSON响应中删除。(JMSSerializeBundle) 如果我绑定它来呈现一个表中的所有公司,那么一旦有一个公司没有公司编号,它就会崩溃。有没有办法防止这种情况发生 当前代码: <script type="text/javascript"> $(document).ready(function() { $.getJSON(Routing.generate('co

从我的服务器返回的JSON具有可选属性(例如),CompanyNumber有时为NULL,因此它将从特定公司的JSON响应中删除。(JMSSerializeBundle)

如果我绑定它来呈现一个表中的所有公司,那么一旦有一个公司没有公司编号,它就会崩溃。有没有办法防止这种情况发生

当前代码:

<script type="text/javascript">
$(document).ready(function() {
    $.getJSON(Routing.generate('contacts_companies_get_json'), function(data) {
    var companies = ko.mapping.fromJS(data);
    ko.applyBindings({
        'companies': companies
    });
 })
});
</script>

   <table class="table">
   <thead>
       <tr>
           <th>Name</th>
           <th>Company Number</th>
           <th>Account</th>
           <th>Supplier</th>
           <th>Competitor</th>
           <th>Other</th>
           <th></th>
       </tr>
   </thead>
   <tbody data-bind="foreach: companies">
       <tr>
           <td><a href="#" class="title"><span data-bind="text: name"></span> <span data-bind="text: legal_form"></span></a></td>
           <td><span data-bind="text: company_number"></span></td>
           <td><span data-bind="if: type_account" ><i class="icon-check"></i></span></td>
           <td><span data-bind="if: type_supplier" ><i data-bind="if: type_supplier" class="icon-check"></i></span></td>
           <td><span data-bind="if: type_competitor" ><i data-bind="if: type_competitor" class="icon-check"></i></span></td>
           <td><span data-bind="if: type_other" ><i data-bind="if: type_other" class="icon-check"></i></span></td>
           <td><a class="btn btn-mini">Details</a><td>
       </tr>
   </tbody>
</table>

$(文档).ready(函数(){
$.getJSON(Routing.generate('contacts\u companys\u get\u json'),函数(data){
var companys=ko.mapping.fromJS(数据);
ko.applyBindings({
‘公司’:公司
});
})
});
名称
公司编号
账户
供应商
竞争对手
其他
细节
你能试试这个吗:

<div data-bind="text: name() ? name() : ''"></div>

参考:


可能重复:

我收到此错误未捕获错误:无法解析绑定。消息:ReferenceError:未定义公司编号;绑定值:text:company_number()?company_number():“”它适用于第一个(具有公司编号)。当到达第一个没有公司编号的公司时,渲染停止。(当该公司的JSON树中的公司编号为空时,该编号未定义)我添加了另一个链接,指向一个问题,该问题似乎是您正在寻找的。可能是重复的