这是代码
{
"data": [
{
"id": "1389378987988776_1745791089014229",
"created_time": "2016-08-03T21:55:39+0000",
"picture": "https://external.xx.fbcdn.net/safe_image.php?d=AQBQL02u4kJtLNFs&w=130&h=130&url=fbstaging%3A%2F%2Fgraph.facebook.com%2Fstaging_resources%2FMDExNzQ1NzkwNjg5MDE0MjY5Ojk5ODEyOTY4Ng%3D%3D&cfs=1"
},
{
"id": "1389378987988776_1745301615729843",
"created_time": "2016-08-02T18:10:53+0000",
"picture": "https://external.xx.fbcdn.net/safe_image.php?d=AQD7O17OAki29Gus&w=130&h=130&url=http%3A%2F%2Fcdn2.obsnocookie.com%2Fwp-content%2Fuploads%2F2015%2F03%2F13995025_770x433_acf_cropped.jpg&cfs=1"
}
}
当我尝试打印NSData时,我给我null并且控制转到else块。请纠正我..我想存储json数据,而不是在需要的地方使用它
答案 0 :(得分:2)
你的代码很好。我认为,您在App Transport安全性方面遇到错误。 当我运行你的代码时,我发现了一个错误说明 -
" App Transport Security阻止了明文HTTP(http://)资源加载,因为它不安全。可以通过您应用的Info.plist文件配置临时例外。"
要解决此问题,请转到项目的info.plist文件,右键单击它并选择像这样的源代码选项 -
然后粘贴
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
标签下。一切都会好的。
答案 1 :(得分:0)
如果原始数据格式无效,NSData将返回nil。 你可以使用 - initWithContentsOfURL:options:error:获取错误信息。
答案 2 :(得分:0)
您可以尝试在NSURL行之后将代码更改为以下内容:
NSError* error = nil;
NSData* data = [NSData dataWithContentsOfURL:stringURL options:NSDataReadingUncached error:&error];
if (error) {
NSLog(@"%@", [error localizedDescription]);
} else {
if (urlData)
{
// JSON successfully downloaded
NSLog(@"yes ");
}
else
{
NSLog(@"not exist");
}
}