我正在尝试将JSON解码为具有许多字符串对的NSDictionary。一些返回的字符串返回&
而不是&
,一些非英语字符显示为其url编码值,而不是正确解码的值。我该如何解决这个问题?
NSString *strContent = [[NSString alloc] initWithBytes:[responseData bytes] length:[responseData length] encoding: NSUTF8StringEncoding];
//I cache the string here
NSData *jsonData = [strContent dataUsingEncoding:NSUTF8StringEncoding];
NSError *error = nil;
NSDictionary *dictionary = [[CJSONDeserializer deserializer] deserializeAsDictionary:jsonData error:&error];
答案 0 :(得分:1)
它到达时的有效载荷。您必须在创建字典后处理此问题。你可以及时做到这一点,当你需要处理数据或提前遍历字典并做一些工作来将数据转换为所需的格式。
以下NSString方法可能会对unescaping url编码派上用场: stringByReplacingPercentEscapesUsingEncoding
unescape html实体看看this "objective-c-html-escape-unescape",它提供了一种干净的方式。