NSJSONSerialization JSONObjectWithData返回NSString

时间:2013-12-13 19:24:06

标签: ios xcode

我有一个NSJSONSerialization JSONObjectWithData,我传递一个NSData对象。结果我获得了NSString而不是NSDictionary。我的完整路线是:

NSDictionary* jsonDec = [NSJSONSerialization JSONObjectWithData:jData options:NSJSONReadingAllowFragments error:&error];

回报是:

enter image description here

为什么我没有收到NSDictionary?我的后端是服务器上的PHP ......

提前致谢!

2 个答案:

答案 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];