无法使用Ajax检索JSON

时间:2015-09-07 06:44:54

标签: javascript jquery ajax json

我的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

我试过解决这个问题。无法弄清楚它出错的地方。

任何人都可以帮助我

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);
    }
});