我正在尝试合并以下函数来填充JSON数据字段“ groupName
”的值。 -是否要将这个概念与JSON文件/字段结合在一起?
"Groups" : {
"groupName" : function makeid() {
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < 5; i++)
text += possible.charAt(Math.floor(Math.random() * possible.length));
return text;
}
},
答案 0 :(得分:1)
您不能将函数直接放在json中。您需要创建一个JS对象以匹配您的JSON结构,然后只需对其进行字符串化以生成所需的JSON。看下面的例子:
function makeid() {
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < 5; i++)
text += possible.charAt(Math.floor(Math.random() * possible.length));
return text;
}
var result = {
Groups: {
groupName: makeid()
}
};
console.log(JSON.stringify(result));
答案 1 :(得分:0)
正如我在评论中说的那样,您不能在JSON中使用函数,因为它不是有效的数据类型。
如果由于语法相似而将其与JS对象混淆,请考虑以下内容:
var test = { "Groups" : {
"groupName" : (function() {
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < 5; i++)
text += possible.charAt(Math.floor(Math.random() * possible.length));
return text;
})()
}}
console.log(test);
这时您可以对对象进行字符串化处理,以获取JSON结果。