使用函数填充 JSON 字段值
Using function to populate JSON field value
我正在尝试合并以下函数来填充我的 JSON 数据字段“groupName
”的值。 - 无论如何将这个概念与 JSON file/field?
"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;
}
},
正如我在评论中所说,您不能在 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 结果。
您不能将函数直接放在 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));
我正在尝试合并以下函数来填充我的 JSON 数据字段“groupName
”的值。 - 无论如何将这个概念与 JSON file/field?
"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;
}
},
正如我在评论中所说,您不能在 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 结果。
您不能将函数直接放在 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));