将 JS 数组转换为 JSON 数组

Convert JS Array into JSON Array

我有一个带有数组 属性 的 js 对象,创建如下:

response.options = [];
response.options.push({
     name: 'color',
     nodes: this.colourNodes
  }, {
     name: 'size',
     nodes: this.sizeNodes
});

我通过 ajax 调用将其传递给 rails 端点,并将其保存到我的数据库中。问题是我需要 JSON 成为一个数组,但目前它看起来像这样:

"options": {
        "0": {
            "name": "color",
            "nodes": ["node1","node2","node3"]
        },
        "1": {
            "name": "size",
            "nodes": ["node1","node2","node3"]
        }
    }

我意识到 js 数组实际上只是对象,这就是为什么会发生上述情况,但是我似乎无法找到一种干净的方法来操纵 js 或 rails 代码来获取它:

"options": [
            {
                "name": "color",
                "nodes": ["node1","node2","node3"]
            },
            {
                "name": "size",
                "nodes": ["node1","node2","node3"]
            }
        ]

我认为最简单的解决方案可能只是从 rails 中的 options 对象构造一个数组,但我似乎无法删除根 01属性。

我确定我在这里遗漏了一些东西,我们将不胜感激

感谢@Mike C 的评论,这是我最后做的事情:

response.options = JSON.stringify(response.options);

然后 rails 一侧 JSON.parse(params[:options])

现在我有了答案,这看起来非常简单,但我完全是在尝试将整个对象字符串化而不仅仅是 属性。