需要帮助才能将新数组添加到 JSON 对象中

Need Help to adding new array into JSON object

本文关键字:添加 数组 JSON 对象 帮助 新数组      更新时间:2023-09-26

我正在使用nodejs制作一个管理网页的文件,需要一些帮助。

我正在将一些信息添加到从数据库收到的 JSON 对象中。数据库包含舞台信息,我应该链接有关舞台文件的信息。

这是函数的代码。在代码中添加了注释。

DBmodel.findOne({'key': 'server'}).exec(function (err, data) {
    for (var i = 0; i < data.stage.length; i++) {
        // this was successful. I added an array to check each files.
        data.stage[i].packFileNameArray = data.stage[i].packFileName.split("/");
        data.stage[i].packVersionArray = data.stage[i].packVersion.split("/");
        // this is a problem. I will add file information for each file.
        // I 
        for (var j = 0; j < data.stage[i].packFileNameArray.length; j++) {
            fs.stat(dirPath + data.stage[i].packFileNameArray[j], function (err, fileStat) {
                if (err) {
                    // this was first try. I thought the array will be automaticallt created.
                    data.stage[i].isExist[j] = 'NO';
                    data.stage[i].mTime[j] = '0';
                    data.stage[i].size[j] = '0';
                } else {
                    // this was second try. I tried push into each time.
                    data.stage[i].isExist.push('YES');
                    data.stage[i].mTime.push(fileStat.mTime);
                    data.stage[i].size.push(fileStat.size);
                }
                console.log(data.stage[i].isExist[j]);
                console.log(data.stage[i].mTime[j]);
                console.log(data.stage[i].size[j]);
            });
        }
    }
    });

我想知道如何将其他信息作为数组添加到 JSON 对象中。

谢谢。

data.stage[i].push({ isExist: 'Yes'});

您必须先创建数组(因为似乎不存在),然后才能将数据推送到其中:

DBmodel.findOne({'key': 'server'}).exec(function (err, data) {
  for (var i = 0; i < data.stage.length; i++) {
    // this was successful. I added an array to check each files.
    data.stage[i].packFileNameArray = data.stage[i].packFileName.split("/");
    data.stage[i].packVersionArray = data.stage[i].packVersion.split("/");
    data.stage[i].isExist = [];
    data.stage[i].mTime = [];
    data.stage[i].size = [];
    //...