无法在 Javascript 中反序列化 JSON 对象

Can't deserialise JSON object in Javascript

本文关键字:反序列化 JSON 对象 Javascript      更新时间:2023-09-26

我创建了一个基于 Javascript 的应用程序,它使用以下 JQuery 函数从特定 URL 反序列化 JSON 对象并从中推断出一些数据。我考虑了来自两个不同 URL 的 2 个 JSON 对象。这两个对象包含完全相同的数据。

当我通过 RESTClient 插件分析第一个 URL 时,我得到以下标头:

Status Code: 200 OK
Access-Control-Allow-Origin: *
Alternate-Protocol: 80:quic,80:quic
Cache-Control: private
Content-Encoding: gzip
Content-Length: 53
Content-Type: application/json; charset=ISO-8859-1
Date: Fri, 20 Sep 2013 08:25:52 GMT
Server: Google Frontend
Vary: Accept-Encoding

通过 RESTClient 插件的第二个 URL 给了我以下标题:

Status Code: 200 OK
Content-Type: application/json;charset=UTF-8
Date: Fri, 20 Sep 2013 08:29:20 GMT
Server: Apache-Coyote/1.1
Transfer-Encoding: chunked

问题是第一个 URL 中的 JSON 对象被完全反序列化,而第二个 URL 则没有。这是我的 JQuery 函数:

$.ajax({
        type: 'GET',
    url: 'http://localhost:8085/Metrics/kfc/brands/Metrics/type3/', //one of the two URLs
    dataType: 'json',
    contentType: "application/json; charset=UTF-8",
    async: true,
    success: function (data) {
        if (data == null) {
            return false;
        }
        dataFromServer = data;
        $.each(dataFromServer, function (date, value) {
            dates.push(date);
            values.push(value);
        });
        result.dates = dates;
        result.values = values;
    },
    error: function (msg, url, line) {
        alert('error trapped in error: function(msg, url, line)');
        alert('msg = ' + msg + ', url = ' + url + ', line = ' + line);
    }

});
return result.dates;
}

进一步反馈:警报中显示的错误消息是:

error trapped in error: function(msg, url, line)
msg = [object Object], url = error, line = 

如果有人能发现我的错误在哪里,我将不胜感激。提前感谢!

如果您的页面未托管在托管这两个服务的同一位置,则必须启用跨站点脚本。

如果你有 Json 字符串,那么你想要它作为一个对象,然后按照代码

var 对象 = JSON.parse(您的 JSON 字符串);