Я не могу получить данные объекта 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 в браузере, он возвращает:
"{\" Views \ ": 396, \" Likes \ ": 1, \" Dislikes \ ": 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: неожиданный символ в строке 1 столбца 2 данных JSON
Я использовал JSON.stringify, чтобы преобразовать его встрока и выводит это:
{"readyState": 4, "responseText": "\" {\\ "Views \\": 396, \\ "Likes \\": 1, \\"Dislikes \\": 0} \ "", "status": 200, "statusText": "OK"}
Есть ли какой-то дополнительный шаг, который мне нужно предпринять, чтобы получить значения?Похоже, что запрос в порядке. Инструменты Chrome для разработчиков дают ответ в виде API:
JSON {"Views": 396, "Likes": 1, "Dislikes": 0}
Заранее спасибо
Ян