NSJSONSerialization中未转义的控制字符 [英] Unescaped control characters in NSJSONSerialization
问题描述
我有这个JSON http://www.progmic.com/ielts/retrive.php 我需要解析。当我使用NSJSONSerialization进行操作时,我得到1981年以前的未转义的控制字符错误。
I have this JSON http://www.progmic.com/ielts/retrive.php that I need to parse. When I do it with NSJSONSerialization, I get "Unescaped control character around character 1981" error.
我需要知道:
- 什么是未转义的控制字符?有没有列表或东西?
- 如何摆脱这个错误?最简单的方法?
提前感谢
推荐答案
我添加了这个方法来从检索的字符串中删除未转义的字符:
I added this method to remove the unescaped characters from retrieved string:
- (NSString *)stringByRemovingControlCharacters: (NSString *)inputString
{
NSCharacterSet *controlChars = [NSCharacterSet controlCharacterSet];
NSRange range = [inputString rangeOfCharacterFromSet:controlChars];
if (range.location != NSNotFound) {
NSMutableString *mutable = [NSMutableString stringWithString:inputString];
while (range.location != NSNotFound) {
[mutable deleteCharactersInRange:range];
range = [mutable rangeOfCharacterFromSet:controlChars];
}
return mutable;
}
return inputString;
}
收到NSData后,将其转换为NSString,调用上述方法获取一个带有已删除控制字符的新字符串,然后再次将新NSString转换为NSData进行进一步处理。
After recieving the NSData, I convert it to NSString, call the above method to get a new string with removed control characters and then convert the new NSString to NSData again for further processing.
这篇关于NSJSONSerialization中未转义的控制字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!