创建如下所示的数组的最佳方法是什么:
[
{
"id":"1",
"value": true
},
{
"id":"3",
"value": false
},
{
"id":"5",
"value": true
},
{
"id":"6",
"value": false
},
{
"id":"9",
"value": true
},
]
我的代码:
//add to array
thing = {
"id" : 1,
"value" : "true"
};
thingArray.push(thing);
当我将输出放在JSON验证器中时,似乎没有正确格式化。
答案 0 :(得分:1)
正如我进一步评论的那样,请确保您在某个时候实际上将其序列化为JSON。在您的代码示例中,您只是使用JavaScript对象,这与JSON不同。这是一个例子:
// start with a regular JavaScript array
var array = [];
// push some regular JavaScript objects to it
array.push({
id: 1,
value: true
});
array.push({
id: 2,
value: false
});
// serialize your JavaScript array into actual JSON
var json = JSON.stringify(array);
// do whatever you want with it...
console.log(json);
答案 1 :(得分:0)
你的代码很好。这里有一些代码可以帮助您入门:
var arr = [];
arr.push({"id": 1, "value": "true"});
arr.push({"id": 2, "value": "false"});
console.dir(arr);
您可以运行该小提琴,然后检查您的控制台输出。你会非常清楚地看到数组的内容。
答案 2 :(得分:0)
JSON验证器不喜欢数组的尾随逗号。 console.log(array)
和console.log(JSON.stringify(array))
之间存在差异。你可能想要使用后者。
另请注意,JSON中允许使用布尔值:
"value": "true",
"value": true
这些都是有效的,它们意味着不同的东西。