我有一个NSJSONSerialization JSONObjectWithData,我传递一个NSData对象。结果我获得了NSString而不是NSDictionary。我的完整路线是:
NSDictionary* jsonDec = [NSJSONSerialization JSONObjectWithData:jData options:NSJSONReadingAllowFragments error:&error];
回报是:
为什么我没有收到NSDictionary?我的后端是服务器上的PHP ......
提前致谢!
答案 0 :(得分:0)
NSDictionary *jsonDec;
NSError* error = nil;
jsonDec = [NSJSONSerialization JSONObjectWithData: jData
options: NSJSONReadingMutableContainers
error: &error];
if (error)
{
NSLog(@"Error: %@",error);
}
Apple doc: NSJSONReadingMutableContainers - 指定将数组和词典创建为可变对象。
答案 1 :(得分:0)
我在使用JSON
响应时使用它(我的通常是字典数组)。我更喜欢使用对象类型id
,只使用内省来确定它是NSArray
还是NSDictionary
。 BTW - 我的网络请求要么使用AFNetworking(v2)完成,要么使用Azure SDK。
id jsonDec = [NSJSONSerialization JSONObjectWithData:jData options:0 error:&error];