将 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
对象构造一个数组,但我似乎无法删除根 0
和 1
属性。
我确定我在这里遗漏了一些东西,我们将不胜感激
感谢@Mike C 的评论,这是我最后做的事情:
response.options = JSON.stringify(response.options);
然后 rails 一侧 JSON.parse(params[:options])
。
现在我有了答案,这看起来非常简单,但我完全是在尝试将整个对象字符串化而不仅仅是 属性。
我有一个带有数组 属性 的 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
对象构造一个数组,但我似乎无法删除根 0
和 1
属性。
我确定我在这里遗漏了一些东西,我们将不胜感激
感谢@Mike C 的评论,这是我最后做的事情:
response.options = JSON.stringify(response.options);
然后 rails 一侧 JSON.parse(params[:options])
。
现在我有了答案,这看起来非常简单,但我完全是在尝试将整个对象字符串化而不仅仅是 属性。