簡體   English   中英

解析ajax json響應

[英]Parse ajax json response

我無法獲取JSON對象的數據。

這是我的API動作:

    public string GetVideoInfo(uint videoID)
    {
        ApiVideoInfo videoInfo = new ApiVideoInfo()
        {
            Likes = BitVidDb.GetLikes(videoID),
            Dislikes = BitVidDb.GetDislikes(videoID),
            Views = BitVidDb.GetViews(videoID),
        };

        return JsonConvert.SerializeObject(videoInfo);
    }

如果我在瀏覽器中調用API,它將返回:

“{\\” 視圖\\ “:396,\\” 喜歡\\ “:1,\\” 不喜歡\\ “:0}”

但是,當我調用此ajax函數時:

    $.ajax({
        url: '/API/Video/GetVideoInfo/25',
        dataType: 'application/json',
        complete: function (data) {
            var json = JSON.parse(data);
            alert(json["Views"]);
        },
    });

它給了我以下錯誤:

SyntaxError:JSON.parse:JSON數據的第1行第2列出現意外字符

我使用JSON.stringify將其轉換為字符串,並輸出以下內容:

{ “readyState的”:4 “responseText的”: “\\”{\\\\ “查看\\\\”:396,\\\\ “喜歡\\\\”:1,\\\\ “不喜歡\\\\”:0} \\ “”,”狀態 “:200,” 狀態文本 “:” OK“}

我需要采取一些其他步驟來獲取這些值嗎? 該請求似乎很好,Chrome開發人員工具將此作為api的答案:

JSON {“查看”:396,“喜歡”:1,“不喜歡”:0}

提前致謝

一月

您只能解析字符串,並且數據是一個對象。 要獲取json作為字符串,我只需要使用data.responseText即可。

$.ajax({
    url: '/API/Video/GetVideoInfo/25',
    dataType: 'application/json',
    complete: function (data) {
        var json = JSON.parse(data.responseText);
        alert(json["Views"]);
    },
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM