如何在javascript中创建这样的JSON数组

How to create an JSON array like this in javascript

本文关键字:JSON 数组 创建 javascript      更新时间:2023-09-26

创建如下数组的最佳方法是什么:

 [
        {
            "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验证器时,它的格式似乎不正确。

正如我进一步评论的那样,请确保在某个时刻确实将其序列化为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);

下面是一个JSBin示例。

您的代码很好。这里有更多的代码让你开始:

var arr = [];
arr.push({"id": 1, "value": "true"});
arr.push({"id": 2, "value": "false"});
console.dir(arr);

http://jsfiddle.net/gg014w0h/

你可以运行小提琴,然后检查你的控制台输出。您将非常清楚地看到数组的内容。

JSON验证器不喜欢数组的尾部逗号。CCD_ 1和CCD_。您可能需要使用后者。

还要注意,JSON中允许使用布尔值:

"value": "true",
"value": true

这两者都是有效的,它们意味着不同的东西。