嘿,我这里有点问题。
我可以使用带有此代码的AFHTTPRequestOperation
加载JSON文件
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSError *error = nil;
NSDictionary *JSONdata = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingAllowFragments error:&error];
self.data = JSONdata;
[self.tableView reloadData];
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
}];
但是当我从someurl.com/json.html加载此JSON时,JSONdata变为null
这是JSON
{
"status": 200,
"results": [
{
"author": {
"username": "user1",
"full_name": "User 1"
}
}
]
}
<!-- This document saved from someurl.com/json.html -->
我试图下载该文件并从loaclhost访问它,但仍然为null。然后手动删除该html标签
<!-- This document saved from someurl.com/json.html -->
,然后可以加载JSON。我的结论是,使JSON无效的html标签。
我该怎么做才能从JSON文件中删除该标签?还是我必须向NSJSONSerialization添加一些代码?
最佳答案
JSON字符串必须完全独立。它不能包含JSON数据以外的任何内容。认为它与Javascript变量赋值的右侧几乎相同:
var x = {"status":200};
^^^^^^^^^^^^^^---raw json text
如果您在jsont数据后的之前或之前有任何内容,则基本上是在创建javascript语法错误
var x = foo{"status":200}bar;
^^^--- ^^^---
如果您遇到这种情况,则上面的
bar
将是HTML注释。它是完全有效的JSON,还是完全无效。中间没有。
关于ios - HTML标记会使JSON文件无效吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16467447/