【发布时间】:2019-10-18 16:05:31
【问题描述】:
我正在尝试将服务器响应 NSData 转换为 NSDictionary,但它在 NSCFString 之后返回。
NSError *error;
NSDictionary* jsonDic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:&error];
并且无法使用objectForKey 访问数据。
给我一个方法来获得这个响应作为NSDictionary 或转换机制。无法得到任何东西 NSJSONSerialization 与 kNilOptions 返回 nil。
【问题讨论】:
-
请检查方法返回什么类型。
-
@iPeter 这是 NSCFString
-
data很可能实际上并不代表 JSON 字典。从data创建一个字符串,看看你实际得到了什么。 -
@rmaddy 使用 NSJSONReadingAllowFragments 返回正确的 JSON。
-
这与你所说的一切相矛盾。您说目前,
jsonDict确实是NSCFString而不是NSDictionary。因此data不代表 JSON 字典。如果您将data转换为字符串并打印出来,您将能够看到您得到的实际 JSON。然后,您可以弄清楚如何从您获取数据的任何地方获取正确的 JSON。
标签: ios objective-c json nsdictionary nscfstring