我无法获取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”:“ \” {\\“ Views \\”:396,\\“ Likes \\”:1,\\“ Dislikes \\”:0} \“ “,”状态“:200,” statusText“:”确定“}
我需要采取一些其他步骤来获取这些值吗? 该请求似乎很好,Chrome开发人员工具将此作为api的答案:
JSON {“查看”:396,“喜欢”:1,“不喜欢”:0}
预先感谢
Jan
答案 0 :(得分:0)
您只能解析字符串,并且数据是一个对象。要获取json作为字符串,我只需要使用data.responseText。
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
return 1; // number of sections
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 10; // should be your array count
}
- (UITableViewCell *)tableView:(UITableView *)tableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath {
static NSString *cellId = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellId];
if (cell == nil)
{
cell = [[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellId];
}
cell.textlabel.text = @"test";
return cell;
}