0

次の JQuery 関数を使用して特定の URL から JSON オブジェクトを逆シリアル化し、そこからデータを推定する Javascript ベースのアプリケーションを作成しました。2 つの異なる URL からの 2 つの JSON オブジェクトを考慮しました。これら 2 つのオブジェクトには、まったく同じデータが含まれています。

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 プラグインを介した 2 番目の 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 オブジェクトが完全に逆シリアル化されているのに対し、2 番目の 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 = 

誰かが私のエラーがどこにあるのかを見つけてくれれば、私は非常に感謝しています. 前もって感謝します!

4

2 に答える 2

-1

UがJson文字列を持っている場合、それをオブジェクトとして使用したい場合は、コードに従ってください

var object = JSON.parse(あなたのjson文字列);

于 2013-09-20T08:59:45.037 に答える