將服務器返回的JSON string轉化成字典時報錯:
Error Domain=NSCocoaErrorDomain Code=3840 "Invalid escape sequence around character 586."
仔細查找后在原來解析的基礎上將"\"字符替換成""或"\\"后,解析成功。具體的解析代碼如下:
- (NSDictionary *)parseJsonStringToNSDictionary:(NSString *)jsonString { jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\r\n" withString:@""]; jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\n" withString:@""]; jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\t" withString:@""]; jsonString = [jsonString stringByReplacingOccurrencesOfString:@"\\" withString:@""]; NSError *error2=nil; NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:[jsonString dataUsingEncoding:NSUTF8StringEncoding] options:NSJSONReadingMutableContainers error:&error2]; if ([dict isValid]) { return dict; } return nil; }