我正在尝试将一些数据作为单个对象异步发送。一半的数据来自我的 KnockoutJS viewModel。另一半是我想添加的一些数据。
我的想法是将它们都转换为 JSON 对象,然后使用数组 .concat 将它们放在一起。但这行不通。你可能知道为什么吗?
我尝试了一些解决方案。第一种方法从 JSON 字符串构建一个对象,然后使用 JSON.parse 将它们作为一个对象。第二个试图完全避免字符串。无论哪种方式,在我得到我的对象后,我尝试将它们连接在一起,但没有任何运气。
带字符串
toAddString = '{"file": "thefile"}';
toAddObj = JSON.parse(toAddString);
koString = ko.toJSON(viewModel);
koObj = JSON.parse(koString,null,2);
finalObj = koObj.concat(toAddObj);
与对象
toAddObj = [{"file": "thefile"}];
koObj = ko.toJS(viewModel);
finalObj = koObj.concat(toAddObj);
与对象 (2)
toAddObj = new Object();
toAddObj.file = "one";
koObj = ko.toJS(viewModel);
finalObj = koObj.concat(toAddObj);
你知道这里可能出了什么问题吗?
我想要的只是一个对象,无论是数组还是 JSON 对象,它都包含来自这些源中的每一个的数据。