这可能是因为您正在初始化这样的观察值:
var a = ko.observable();
如果这样做,则未包装的值 a
将不确定。 KO.TOJSON调用本机json.stringify函数,该函数不会序列化具有未定义值的属性。为了防止这种情况,最简单的方法是初始化这样的观察值:
var a = ko.observable(null);
关于序列化,这将导致“ a”:null,javaScriptSerialializer应该能够消化。
这是一个带有示例的小提琴,检查控制台: http://jsfiddle.net/v87ky/1/