基本上我想做的是读取一个json文件,首先从该文件中获取公会的ID,然后在该公会中搜索用户的ID。
假设这是json文件的示例:
{Guilds ID}:
{Users ID}:
Value: "Yes"
Value2: "No"
{Users ID}:
Value: "Yes"
Value2: "No"
{Guilds ID}:
{Users ID}:
Value: "Yes"
Value2: "No"
{Users ID}:
Value: "Yes"
Value2: "No"
我尝试使用:
Variable[message.guild.id] = {
User: "User ID"
}
但这不能真正起作用,因为我不能像这样仅获取特定用户ID的变量。我可能把它弄复杂了,但是有人可以帮忙吗?我也想保存文件。谢谢。
答案 0 :(得分:1)
以下内容如何:
var data = {
"guild1": {
"userId1": {
"Value": "Yes",
"Value2": "No"
},
"userId2": {
"Value": "Yes",
"Value2": "No"
}
},
"guild2": {
"userId3": {
"Value": "Yes",
"Value2": "No"
}
}
}
if (data["guild1"].hasOwnProperty("userId2")) {
console.log("Value for userId2 in guild1: " + data["guild1"]["userId2"].Value);
}
if (!data["guild1"].hasOwnProperty("userId5")) {
data["guild1"]["userId5"] = {
"Value": "Yes",
"Value2": "No"
}
}
console.log("Added new user userId5 to guild1")
如果您的JSON数据结构由嵌套对象(公会对象包含用户对象)组成,则可以使用hasOwnProperty()
方法检查用户是否属于公会,如上例所示。请注意,请勿使用data["guild1"]["userId<x>"]
,因为如果给定的行会中不存在属性"userId<x>": undefined
,则会添加属性{{1}}!另请参见jsFiddle。
编辑:正如您还问如何将用户添加到公会中,我已经扩展了我的示例。关于读写JSON,请看这里:reading and writing json file using javascript