首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery : SyntaxError: JSON.parse:意外字符

Jquery : SyntaxError: JSON.parse:意外字符
EN

Stack Overflow用户
提问于 2014-07-10 14:42:31
回答 3查看 2.6K关注 0票数 1

我从我的服务器接收到以下有效的JSON:

代码语言:javascript
复制
[{"name":"Bubble Witch Saga 2","impressions":10749},{"name":"Grinder","impressions":11284},{"name":"Loovoo","impressions":12336},{"name":"Injustice God Among Us","impressions":12786},{"name":"Bookmyshow","impressions":13182},{"name":"Angry Bird","impressions":15404},{"name":"Flipkart","impressions":16856},{"name":"CNN-IBN","impressions":17230},{"name":"Fore Square","impressions":17595},{"name":"NDTV","impressions":19542},{"name":"Whatsapp","impressions":19976}]

但是在我的控制台中,我不断收到一个错误,上面写着"JSON.parse:意外字符“。这是我的客户端代码:

代码语言:javascript
复制
$.ajax({
    'type': 'get',
    'data': {},
    'dataType': 'json',
    'url': 'dashboard/data/'+type,
    'complete': function(data) {
        var top10Value = JSON.parse(data);
        $.each(top10Value, function(key,value){
            console.log(key+" -- "+value);
        });
    }
});

我为什么要犯这个错误?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-07-10 14:49:05

当您指定dataType : json时,结果已经在jQuery中进行了解析。

此外,完整函数参数是返回一个表示结果的对象,而不是结果本身。

这种情况下,您应该使用var top10Value = JSON.parse(data.responseText)

票数 1
EN

Stack Overflow用户

发布于 2014-07-10 14:46:23

jQuery足够聪明,即使没有指定dataType,也可以解析它本身的响应。

在您的示例中,它是指定的,因此,它已经被解析,data是解析的JSON对象。

因此,您要做的是解析一个Object

医生说:

dataType:(默认:智能猜测(xml、json、script或html)) 类型:String 您期望从服务器返回的数据类型。如果没有指定,jQuery将尝试根据响应的MIME类型推断它( XML类型将生成XML,在1.4 中,JSON将生成JavaScript对象,1.4脚本中将执行脚本,其他任何内容都将作为字符串返回)。可用类型(以及作为成功回调的第一个参数传递的结果)是:

票数 1
EN

Stack Overflow用户

发布于 2014-07-10 14:46:28

数据只返回json格式,

代码语言:javascript
复制
    $.ajax({
       'type': 'get',
       'data': {},
       'dataType': 'json',//Return Json Format
       'url': 'dashboard/data/',
       'complete': function(data) {
           //data returned already json format only
           //var top10Value = JSON.parse(data);
           $.each(top10Value, function(key,value){
               console.log(key+" -- "+value);
           });

       }
   });
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24679531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档