当我通过AJAX加载我的human.json文件时,我不断收到此错误消息。
整个错误消息显示为
JSON.parse: expected ',' or '}' after property value
in object at line 2 column 22 of the JSON data.
我在网上找了它,并且有人有类似的错误消息,但是,他们没有通过AJAX调用。
除此之外,它们不是在对象内的对象中嵌套数组。我认为这就是我收到此错误消息的原因。你不允许将这么多属性嵌套在一起吗?
这是我的AJAX代码:
var request = new XMLHttpRequest();
request.open('GET','human.json');
request.onreadystatechange = function() {
if (request.readyState == 4 && request.status == 200) {
var obj = JSON.parse(request.responseText);
console.log(obj);
}
}
request.send();
和我的human.json文件:
{
"sex":{
"male":{"fname":["Michael", "Tom"]},
"female"
},
"age":[16, 80],
"job":[]
}
答案 0 :(得分:6)
您的对象无效JSON。特别是在部分:
Application_Status IN ('New','Received','Checking')
JSON属性必须具有值。也许那应该是:
,"female"}
或:
,"female":{}}
答案 1 :(得分:2)
您的JSON文件存在语法错误。重新格式化以下内容以突出显示错误:
{
"sex":{
"male":{"fname":["Michael","Tom"]},
"female" <----------------- SYNTAX ERROR
},
"age":[16,80],
"job":[]
}
在JSON中,对象具有以下语法:
{"name" : "value"}
根据JSON规范,语法{"foo"}
无效。因此,您需要为female
属性提供一些值:
{
"sex":{
"male":{"fname":["Michael","Tom"]},
"female":{}
},
"age":[16,80],
"job":[]
}
答案 2 :(得分:1)
您的JSON确实无效。
,"female":null}
或许将该行更改为:
{
"sex": {
"male":{
"fname": ["Michael","Tom"]
},
"female" ## Here is the problem
},
"age": [16,80],
"job": []
}
这完全取决于你想做什么
答案 3 :(得分:0)
您的"female"
错误,需要密钥或值
您可以将json文件更改为
{
"sex":{"male":{"fname":["Michael","Tom"]} ,"female":null},
"age":[16,80],
"job":[]
}
答案 4 :(得分:0)
您使用的JSON文件是无效的json。 JSON是名称/值对的集合。 JSON中的每个键都应包含值。在你的情况下,关键&#34;女性&#34;没有任何价值。下面显示的是有效的JSON格式。
{
"sex": {
"male": {
"fname": ["Michael", "Tom"]
},
"female": "XXX"
},
"age": [16, 80],
"job": []
}