2

我正在尝试将 JSON 解码为具有许多字符串对的 NSDictionary。一些返回的字符串返回 as&而不是,&一些非英文字符显示为它们的 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];
4

1 回答 1

1

它是到达时的有效载荷。您必须在创建字典后处理此问题。当您需要处理数据或提前遍历字典并做一些工作将数据转换为所需格式时,您可以及时执行此操作。

下面的 NSString 方法可能会派上用场来取消转义 url 编码: stringByReplacingPercentEscapesUsingEncoding

要对 html 实体进行转义,请查看“objective-c-html-escape-unescape”,它提供了一种干净的方法。

于 2011-02-26T20:03:31.067 回答