JSON格式的解析错误

问题描述:

请解释此JSON对象中的解析器错误是什么。JSON格式的解析错误

db.products.insert({ 
    name: "Microsoft Surface", 
    category: 'Electronics', 
    model: '7G5-33333', 
}) 

PS:JSONLint说,但我想不通......

Error: Parse error on line 1: 
db.products.insert({ 
^ 
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[', got 'undefined' 
+0

我认为你的钥匙也应该是字符串(即把“名称”不是名称等) – shim

+0

@shim谢谢你的建议,我试过了,但错误仍然是一样的。 – volna

+1

您发布的示例是* code *,而不是JSON。为什么你将整个代码传递给JSONLint?看起来你甚至没有在这里使用JSON,所以你为什么使用JSONLint?如果我正在编写JavaScript,我不打算使用C linter。换句话说:无论你想要做什么,你都在使用错误的工具。 –

末删除逗号(后模型值)。

db.products.insert({ 
    name: "Microsoft Surface", 
    category: 'Electronics', 
    model: '7G5-33333' 
}) 

这里有逗号表示有更多的键值对,所以这就是为什么你看到“缺少的属性列表后”错误。

+0

谢谢你,我会用逗号更加小心。 – volna

你需要的东西是这样的:

db.products.insert({ 
     "name": "Microsoft Surface", 
     "category": "Electronics", 
     "model": "7G5-33333" 
    })