如何插入JSON?

时间:2015-01-11 23:35:21

标签: javascript json

我应该如何将一些数据插入JSON?

我需要通过脚本创建一个JSON文件。 JSON文件应如下所示:

{
    "index": {
        "colors": [
            {
                "title": "great color",
                "name": "nice color"
            },
            {
                "title": "worst color",
                "name": "bad color"
            }
        ]
    }
}

在我的javascript文件中,我可以推送到颜色数组:

var index = {index: {}};
var posts = {colors: []};
var single = {title: "great color", name: "nice color"};

posts.colors.push(single);

但是,如何将其插入索引对象?我写的目前是这样的JSON文件:

fs.writeFile(file, JSON.stringify(posts, null, 2)); 

但是这只写了colors数组,结果JSON文件是这样的:

{
    "colors": [
        {
            "title": "great color",
            "name": "nice color"
        },
        {
            "title": "worst color",
            "name": "bad color"
        }
    ]
}

如何创建我需要的JSON结构?

2 个答案:

答案 0 :(得分:0)

既然我可以自己写答案,那就试试吧:

var obj = {
        index: {
            colors: []
        }
    }, // basic object
    single = {
        title: "great color",
        name: "nice color"
    };

obj.index.colors.push(single);

// ...

fs.writeFile(file, JSON.stringify(obj, null, 2));

我不确定为什么你需要单独制作这些对象,但我只是假设你在其他地方添加了颜色的凹凸,所以我把它分开了。这种方式不那么冗长。

答案 1 :(得分:-1)

您可以将颜色数组添加到索引对象中:

var obj = {}; // basic object

obj['index'] = {}; // The index child object
obj.index['colors'] = new Array(); // the color array below index

var single = {title: "great color", name: "nice color"};
obj.index.colors.push(single);