我的JSON:
{
"operatorname": "LUKUP",
"Schedule": {
"channel": [
{
"bouquet": "Music",
"channelgenre": "English Music",
"prepaid_price": 15
},
{
"bouquet": "News",
"channelgenre": "English News",
"prepaid_price": 7
}
]
}
}
Ajax电话:
$.ajax({
type: "POST",
url: my_url,
async: false,
success: function(result){
alert(JSON.stringify(result));
message= JSON.parse(result);
alert(message.Schedule.channel.length);
}
});
我的杰森来了。第一条警报消息是我的JSON。当我解析json时,错误就像
一样 未捕获的SyntaxError:意外的令牌o
地点:jquery.min.js.2
我试过解决这个问题。无法弄清楚它出错的地方。
任何人都可以帮助我
答案 0 :(得分:1)
在"prepaid_price": 15
和"prepaid_price": 7
之后删除逗号。您还错过了JSON末尾的结束}
。
您可以在此处验证您的JSON:http://www.jsoneditoronline.org/
{
"operatorname": "LUKUP",
"Schedule": {
"channel": [
{
"bouquet": "Music",
"channelgenre": "English Music",
"prepaid_price": 15
},
{
"bouquet": "News",
"channelgenre": "English News",
"prepaid_price": 7
}
]
}
}
答案 1 :(得分:0)
您可以在AJAX调用中使用dataType: 'json',
,然后您的JSON将自动解析,您无需调用message = JSON.parse(result);
,因为您的结果已经是对象。
然后您可以直接致电alert(result.Schedule.channel.length);
。
您的代码如下:
$.ajax({
type: "POST",
url: my_url,
async: false,
dataType: 'json',
success: function(result){
alert(result.Schedule.channel.length);
}
});