NSJSONSerialization中未转义的控制字符 [英] Unescaped control characters in NSJSONSerialization

查看:115
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆