继续收到错误,我无法将JSON对象推送到JSON数组。我所做的改变只是我的这个函数在一个不同的文件中,因此我将其称为模块。
index.js
https://[username]:[apikey]@api.softlayer.com/rest/v3/SoftLayer_Account/getUsers.json?objectMask=mask[id;username,userStatus]&objectFilter={ "users": { "userStatus": { "id": { "operation": "1003" } } } }
getUserMods.js
var mods = require('../server/api/getUserMods.js');
var usernamePerms = [ 'settings', 'mod1', 'mod2' ]
console.log(mods.getUserMods(usernamePerms));
函数var fs = require('fs');
exports.getUserMods = function(input) {
var umkModules = '../umk_modules/';
var modules = '{"module":[]}';
var moduleParse = JSON.parse(modules);
for (i = 0; i < input.length; i++) {
console.log("Parsing: " + input[i]);
console.log("At: " + umkModules.concat(input[i],"/","module-view.json"));
console.log();
var readModule = JSON.parse(fs.readFileSync(umkModules.concat(input[i],"/","module-view.json"), 'utf8'));
console.log(readModule);
moduleParse['modules'].push(readModule);
};
modules = JSON.stringify(moduleParse);
return modules;
};
接受一个数组字符串并在指定的文件路径中搜索,找到一个名为getUserMods
的文件,然后将其附加到空的JSON数组中。
当我跑步时,我得到......
module-view.json
答案 0 :(得分:4)
moduleParse['module'].push(readModule);
您的媒体资源名为module
,而不是modules
。而且我不能完全确定为什么你可以简单地使用JSON:
var moduleParse = {
module:[]
}