繁体   English   中英

SyntaxError:JSON解析错误:意外的标识符“对象”(匿名函数)

[英]SyntaxError: JSON Parse error: Unexpected identifier “object” (anonymous function)

我不了解解析文件时出了什么问题:

{ "t": -9.30, "p": 728.11, "h": 87.10 }

JavaScript代码:

<script type="text/javascript">
function check() {
    $.get("http://....file.json", function(response, status, xhr) {
        if (status == "success") {
            var json = JSON.parse(response);
            $("#temp").html(json.t + "&deg;");
            $("#pressure").html(json.p + " mm hg");
        }
        if (status == "error") {
            $("#temp").html("error");
        }
    });
}

我收到错误消息:

SyntaxError: JSON Parse error: Unexpected identifier "object"

您的response很可能已经是一个JavaScript对象,因此不需要进行解析。

删除行var json = JSON.parse(response); 并且您的代码应该可以正常工作。

根据$.ajax上的jQuery文档( $.get内部使用的内容):

dataType: ...如果未指定,则jQuery将尝试根据响应的MIME类型来推断它(XML MIME类型将产生XML,在1.4 JSON中将产生JavaScript对象 ...)

因此,您的回应可能已经是一个对象。 当您执行JSON.parse(response) ,您实际上是在做

JSON.parse("[object Object]")

因为JSON.parse其参数强制转换为字符串 ,并且默认情况下,普通对象将字符串化为[object Object] 初始[导致JSON.parse期望有一个数组,但随后它阻塞了不适合JSON语法的object令牌。

删除JSON.parse行,因为jQuery已经将response解析为对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM