Knockout toJSON函数不会使用Array创建正确的JSON

时间:2016-08-09 15:09:42

标签: javascript arrays json knockout.js

使用knockout从可观察数组创建JSON字符串,但输出不是预期的。它在输出中包含索引#。请看下面的简化示例:

我有一个名为“selectedFileTypes”的数组,有两个项目。当我将该数组转换为Observable Array时,请使用以下代码调用toJSON:

ko.toJSON(ko.observableArray(selectedFileTypes))

输出

{"0":{"DescriptionWithExtension":"Images (*.jpg;*.jpeg;*.gif;*.bmp;*.png)","Extension":"*.jpg;*.jpeg;*.gif;*.bmp;*.png"},"1":{"DescriptionWithExtension":"Documents (*.doc;*.docx;*.txt;*.pdf)","Extension":"*.doc;*.docx;*.txt;*.pdf"}}

但是,当我这样称呼时:

ko.toJSON(ko.observableArray([{name:"abc",num:"123"},{name:"def",num:"345"}]))

输出结果为:

[{"name":"abc","num":"123"},{"name":"def","num":"345"}]

enter image description here

0 个答案:

没有答案