我在解析 JSON 时收到此错误:
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
Error Domain=NSCocoaErrorDomain Code=3840 "The operation couldn’t be completed. (Cocoa error 3840.)" (Unable to convert data to string around character 73053.) UserInfo=0x1d5d8250 {NSDebugDescription=Unable to convert data to string around character 73053.}
有什么建议如何解决这个问题吗?
ADDED正如错误报告中所述,解析器无法遍历位置 73053 处的字符,即我的 JSON 响应中的“ø”。据我所知,像 Ø、Å、Æ 等字符对于 json 解析器来说应该不是问题?
是的,我也有同样的编码问题,并收到上述错误。我从服务器获取 NSData 作为encoding:NSISOLatin1StringEncoding
。所以我必须在使用 NSJSONSerialization 解析它之前将其转换为 UTF8。
NSError *e = nil;
NSString *iso = [[NSString alloc] initWithData:d1 encoding:NSISOLatin1StringEncoding];
NSData *dutf8 = [iso dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:dutf8 options:NSJSONReadingMutableContainers error:&e];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)