[英]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.