Cannont呼叫方法'推送'附加JSON数组时未定义的

时间:2015-12-08 23:50:28

标签: javascript json node.js web

继续收到错误,我无法将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

1 个答案:

答案 0 :(得分:4)

moduleParse['module'].push(readModule);

您的媒体资源名为module,而不是modules。而且我不能完全确定为什么你可以简单地使用JSON:

var moduleParse = {
  module:[]
}