Knockout.js绑定到json对象memebr,前缀为@

Knockout.js绑定到json对象memebr,前缀为@,json,knockout.js,xml-serialization,Json,Knockout.js,Xml Serialization,我已经使用Json.Net将一些XML转换为Json,然后使用Knockout.js绑定到一个视图 我遇到的问题是,我的XML属性是用json表示的,前缀是@,在Knockout.js中它被视为非法字符 我的视图模型具有以下功能: self.titles = ko.computed(function () { var str = self.searchForText().toLowerCase(); return jsonString.AutoPolicy.Policy.f

我已经使用Json.Net将一些XML转换为Json,然后使用Knockout.js绑定到一个视图

我遇到的问题是,我的XML属性是用json表示的,前缀是@,在Knockout.js中它被视为非法字符

我的视图模型具有以下功能:

self.titles = ko.computed(function () {
     var str = self.searchForText().toLowerCase();

     return jsonString.AutoPolicy.Policy.filter(function (el) {                           
             return el['@id'].toLowerCase().indexOf(str) == 0;
     });
}, self);
和我的html:

    <div id="searchResultsDiv" class="sectionDiv">             
         <div data-bind="foreach: titles">                         
            <div data-bind="text: @id, click: $parent.isSelected, event : { dblclick: $parent.openFileDblClick }"></div>                                                             
         </div>   
    </div>
这会产生预期的结果,但有更好的方法吗


谢谢

试试这样的方法:

<div data-bind="text: $data['@id']"></div>

非常好。这就是我要找的;谢谢
<div data-bind="text: $data['@id']"></div>