美文网首页
不规则的json数据处理

不规则的json数据处理

作者: flutter养成中 | 来源:发表于2016-10-25 17:10 被阅读115次

    后台返回了

    result--{
     messages = "<null>";
    result = "{\"address\":\"\U9e93\U8c37\U4f01\U4e1a\U5e7f\U573ac1\U680b103\",\"articleId\":1388,\"articleNumber\":1,\"contacts\":\"\U674e\U5c0f\U59d0\",\"contactsPhone\":\"18207325127\",\"content\":\"<p style=\\\"font-size:14px;font-family:simsun;color:#333333;background-color:#FFFFFF;\\\">
    

    这种恶心的数据,这是转过一次了的数据,有时候我使用以下方式再转一次就可以解决:

    NSString *str = result[@"result"];
                NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
                NSDictionary *content = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
    

    但是 有时候莫名其妙的又崩溃了,后来找了很久,加了一个去掉不规则字符的方法 removeUnescapedCharacter:

     NSString *str = result[@"result"];
                str = [NSString removeUnescapedCharacter:str];
                NSData *data = [str dataUsingEncoding:NSUTF8StringEncoding];
                NSDictionary *content = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
    

    具体的就是,我是直接就加在了 NSString 的方法里的:

    +(NSString *)removeUnescapedCharacter:(NSString *)inputStr
    {
        NSCharacterSet *controlChars = [NSCharacterSet controlCharacterSet];//<span style="white-space:pre"> </span>//获取那些特殊字符
        NSRange range = [inputStr rangeOfCharacterFromSet:controlChars];//<span style="white-space:pre"> </span>//寻找字符串中有没有这些特殊字符
        if (range.location != NSNotFound)
        {
            NSMutableString *mutable = [NSMutableString stringWithString:inputStr];
            while (range.location != NSNotFound)
            {
                [mutable deleteCharactersInRange:range];//<span style="white-space:pre"> </span>//去掉这些特殊字符
                range = [mutable rangeOfCharacterFromSet:controlChars];
            }
            return mutable;
        }
        return inputStr;
    }
    

    PS:SB后台。。

    相关文章

      网友评论

          本文标题:不规则的json数据处理

          本文链接:https://www.haomeiwen.com/subject/lkiruttx.html