用JavaScript解析JSON
也许有人能帮我朝正确的方向走? 非常感谢你的提示用JavaScript解析JSON,javascript,json,Javascript,Json,也许有人能帮我朝正确的方向走? 非常感谢你的提示 var credentials = { steam: {}, rpc: {} }; var rawCredentials = JSON.parse(fs.readFileSync("auth.json", { "encoding": "utf8" })); credentials.steam.accountName = rawCredentials.steam.accountName; credentials.steam.password
var credentials = { steam: {}, rpc: {} };
var rawCredentials = JSON.parse(fs.readFileSync("auth.json", { "encoding": "utf8" }));
credentials.steam.accountName = rawCredentials.steam.accountName;
credentials.steam.password = rawCredentials.steam.password;
credentials.steam.shaSentryfile = new Buffer(rawCredentials.steam.shaSentryfile, "hex");
credentials.rpc.username = rawCredentials.rpc.username;
credentials.rpc.password = rawCredentials.rpc.password;
auth.json文件
{
"credentials.steam.accountName": "XXX",
"credentials.steam.password": "XXX",
}
无法读取未定义的属性“accountName”属性的键实际上是“credentials.steam.accountName”。不能使用点符号遍历对象“凭证”或“蒸汽”,因为它们不是对象。 要访问这些值,请使用:
rawcresidences['credentials.steam.accountName']
编辑:如果您想使用rawcentidentials.credentials.steam.accountName
您的JSON必须如下所示:
rawCredentials = {
credentials: {
steam: {accountName: 'foo', ...}
}
}
这些是完整的属性名,在JSON文件中包含点,而不是实际的嵌套对象 此外,您还忘记了
.credentials
部分。相反,请使用:
(或重构JSON)不知道这是否是问题所在,但auth.JSON中的语法不好:
{
"credentials.steam.accountName": "XXX",
"credentials.steam.password": "XXX"
}
设计良好的JSON文档具有与JavaScript配合良好的键,以避免这种混乱。
{
"credentials.steam.accountName": "XXX",
"credentials.steam.password": "XXX"
}