【问题标题】:Serialize nested observable arrays to JSON将嵌套的可观察数组序列化为 JSON
【发布时间】:2013-04-17 23:12:27
【问题描述】:

在 KnockoutJS 中,有没有办法将可观察数组的嵌套结构序列化为 JSON? 我正在使用 JSON.stringify,但由于它不以 someObservableArray() 的形式访问数组,因此无法序列化嵌套数组:

例如:我有一个可观察数组,其中每个项目都包含一个可观察数组作为属性。

目前我在调用 JSON.stringify 之前手动将其转换为标准 JS 对象,但是是否有另一个敲除函数可以让我直接将其转换为 JSON

【问题讨论】:

标签: knockout.js


【解决方案1】:

您可以使用ko.toJSON function,它可以将嵌套的可观察结构序列化为 JSON:

var vm = {
    someObservableArray: ko.observableArray(
    [{
        prop: ko.observable('val1'),
        childArray: ko.observableArray([{
            prop2: ko.observable('vla2')
        }, {
            prop2: ko.observable('val3')
        }])
    }, {
        prop: ko.observable('val4'),
        childArray: ko.observableArray([{
            prop2: ko.observable('val5')
        }, {
            prop2: ko.observable('val6')
        }])
    }])
}
console.log(ko.toJSON(vm));
// output: {"someObservableArray":[{"prop":"val1","childArray":[{"prop2":"vla2"},
//         {"prop2":"val3"}]},{"prop":"val4","childArray":[{"prop2":"val5"},
//         {"prop2":"val6"}]}]}

演示JSFiddle.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-20
    • 2017-06-20
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    • 2019-12-16
    • 1970-01-01
    相关资源
    最近更新 更多