Ios7 如何将包含换行符的NSData转换为NSString

Ios7 如何将包含换行符的NSData转换为NSString,ios7,Ios7,以下代码完美地将我从URL/JSON文件获得的NSData转换为NSString,数据包含换行符的情况下产生的异常 我的代码怎么了 我的代码: NSError *errorColetar = nil; NSURL *aColetarUrl = [[NSURL alloc]initWithString:@"http://marcosdegni.com.br/petsistema/teste/aColetar3.php"]; NSString *aColetarString = [NSStr

以下代码完美地将我从URL/JSON文件获得的NSData转换为NSString,数据包含换行符的情况下产生的异常

我的代码怎么了

我的代码:

NSError  *errorColetar = nil;
NSURL    *aColetarUrl = [[NSURL alloc]initWithString:@"http://marcosdegni.com.br/petsistema/teste/aColetar3.php"];
NSString *aColetarString = [NSString stringWithContentsOfURL:aColetarUrl encoding:NSUTF8StringEncoding error:&errorColetar];

NSLog(@"NSString: %@", aColetarString);

if (!errorColetar) {
    NSData *aColetarData = [aColetarString dataUsingEncoding:NSUTF8StringEncoding];
    self.arrayAColetar = [NSJSONSerialization JSONObjectWithData:aColetarData options:kNilOptions error:nil];
}
NSLog(@"arrayAColetar %@", self.arrayAColetar);
日志结果:

**NSString**: [{"id_atendimento":"2","observacoes":"ABC-Enter-->
DEF-Enter-->
GFH-END"},{"id_atendimento":"1","observacoes":"123Enter-->
345Enter-->
678End"}]

**arrayAColetar** (null)
正如您所看到的,我的底线是一个空数组:(


提前感谢!

通过检查隐藏在“error:nil”下的错误消息,我发现了一个“字符周围未替换的控制字符”问题,并从中实现了下面的代码 还有一根新的“干净”的绳子

- (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不可能包含换行符,因为它(不一定)表示字符数据,而只是字节。(这是您的错误:
error:nil]
)谢谢您的帮助。我将研究错误。