我在 iOS 上使用 SBJson 框架(也称为 json-framework)。
解析某个 JSON 文件时,出现以下错误:-JSONValue 失败。错误是:未转义的控制字符 [0x09]'
我已经多次使用这个框架,并且还在同一个应用程序中解析一个非常相似的 JSON 文件(甚至更长),并且它工作正常。
我尝试扔掉一堆 NSLogs,一切似乎都很好。有人可以告诉我这个错误意味着什么,或者至少如何继续调试这样的错误吗?
这是显示错误的代码:
- (void)downloadSchedule:(NSString *)jsonString {
// Get JSON feed URL and instantiate a dictionary object with its content
NSDictionary *topDic = [jsonString JSONValue];
NSLog(@"topDic count %d", [topDic count]);
topDic 显示计数为 0。错误位于[jsonString JSONValue]
line.
谢谢
我有一个很好的解决方案。应用此方法删除转义字符。
-(NSString *)removeUnescapedCharacter:(NSString *)inputStr
{
NSCharacterSet *controlChars = [NSCharacterSet controlCharacterSet];
NSRange range = [inputStr rangeOfCharacterFromSet:controlChars];
if (range.location != NSNotFound)
{
NSMutableString *mutable = [NSMutableString stringWithString:inputStr];
while (range.location != NSNotFound)
{
[mutable deleteCharactersInRange:range];
range = [mutable rangeOfCharacterFromSet:controlChars];
}
return mutable;
}
return inputStr;
}
调用此方法并传递输出字符串,如下所示
NSString *output = [NSString stringWithContentsOfURL:[NSURL URLWithString:@"yourUrlString"] encoding:NSUTF8StringEncoding error:nil];
output = [self removeUnescapedCharacter:output];
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)