我在server.js文件中有一个JSON对象:
var stores = {
1: { "name": "a", "region": "vic" },
2: { "name": "b", "region": "nsw" }
};
但我想把它放到一个外部JSON文件中,因为它是一个巨大的列表并使用:
var stores = require('./storeData.json');
所以我仍然可以有商店[1] [“name”] =“a” 但是,我收到的错误是:
SyntaxError: /home/username/Documents/storeData.json: Unexpected token :
at Object.parse (native)
at Object.Module._extensions..json (module.js:486:27)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (/home/username/Documents/server.js:18:14)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
我无法弄清楚如何构建JSON以使其工作。
答案 0 :(得分:2)
JSON比JS对象语法更具体。在JSON对象表示中,每个键必须是一个字符串(并且引用):
{
"1": { "name": "a", "region": "vic" },
"2": { "name": "b", "region": "nsw" }
}
答案 1 :(得分:0)
您不能在json中使用数字作为键 你可以做这样的事情
var stores = {
"1": { "name": "a", "region": "vic" },
"2": { "name": "b", "region": "nsw" }
};
答案 2 :(得分:0)
尝试使用json集合(广泛使用)。并且你必须引用每个键成为字符串格式或它会给出错误。 或者如果你想保留你的甲酸盐,你也可以选择这个
{
"1": { "name": "a", "region": "vic" },
"2": { "name": "b", "region": "nsw" }
}