【发布时间】:2026-01-23 20:50:01
【问题描述】:
这是我拥有的 JSON 字符串。我已经从 JSON 中删除了左括号和右括号,因为我需要使用 jQuery 中的 JSON 值来实际将数据加载到选择框中:
{
"text": "Pediatric FA, CPR & AED (2015)",
"id": "128177000002431552~Pediatric FA, CPR & AED DVD Set (2015)~YES~117.19"
}, {
"text": "FA, CPR & AED Manual (2015)",
"id": "128177000002431564~FA, CPR & AED Manual (2015)~YES~17.73"
}
这是我的 Javascript 代码
$.post("items.cfm",{"term":request.term})
.done(function(data){
try{
var obj = JSON.parse(data),
values = [];
$.each(data, function(i, obj) {
values.push({"label":obj[x].text, "value":obj[x].id, "price":obj[x].id.split('~')[3]});
})
response(values);
}catch(e){
alert(e);
}
})
.fail(function(e){
alert(e);
});
每次运行都会报错
SyntaxError: Unexpected token , in JSON at position
【问题讨论】:
-
您是否检查过浏览器控制台以查看从 HTTP 请求返回的实际 JSON 内容?它真的说“......在位置”而没有更多信息吗?
-
您不能在 JSON 字符串中包含多个对象,除非它们被封装在方括号中作为数组。在 JSON 字符串的任一端添加
[和]以使其有效。 -
我在 POST 中说我正在删除开始和结束括号,如果我不删除它们,我会收到此错误:
TypeError: Cannot use 'in' operator to search for '4592' in
标签: javascript jquery json syntax-error