module.js:684 throw err; SyntaxError:意外的令牌{在位置20的JSON中

时间:2018-02-25 22:18:18

标签: json

嗨,我提前在.json文件中有一个括号问题,我也在YouTube上关注教程/视频,我检查了代码,但错误仍然存​​在。我该怎么办?

意外的令牌{在位置20的JSON中

{
    "Scrap Metal"
    {
        "buy": 1,
        "sell":1
    },
        "Reclaimed Metal"
    {
        "buy": 3,
        "sell":3
    },
        "Refined Metal"
    {
        "buy": 9,
        "sell":9
    },
}

 C:\Users\Galaxydragon7\Downloads\Giochi3\Bot>node bot.js
 module.js:684
        throw err;
        ^

SyntaxError: C:\Users\Galaxydragon7\Downloads\Giochi3\Bot\prices.json: Unexpected token { in JSON at position 20
    at JSON.parse (<anonymous>)
    at Object.Module._extensions..json (module.js:681:27)
    at Module.load (module.js:575:32)
    at tryModuleLoad (module.js:515:12)
    at Function.Module._load (module.js:507:3)
    at Module.require (module.js:606:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (C:\Users\Galaxydragon7\Downloads\Giochi3\Bot\bot.js:6:16)
    at Module._compile (module.js:662:30)
    at Object.Module._extensions..js (module.js:673:10)

1 个答案:

答案 0 :(得分:1)

JSON文件需要键值对,所以当你有一个值时,它总是必须附加一个键。在这种情况下,您没有正确定义这些对,例如&#34; Scrap Metal&#34;是一个关键,它的值是{"buy": 1, "sell":1},但你没有清楚地表明它是&#34;废金属&#34;的价值。唯一缺少的是每种类型金属后的冒号,所以正确的JSON文件是这样的:

{
    "Scrap Metal":
    {
        "buy": 1,
        "sell":1
    },
    "Reclaimed Metal":
    {
        "buy": 3,
        "sell":3
    },
    "Refined Metal":
    {
        "buy": 9,
        "sell":9
    }
}