将NSString转换为NSData - [NSString dataUsingEncoding]异常

Ego*_*r T 6 iphone json nsdata ios5

我正在将NSString转换为NSData以便通过JSON解析,但是我收到了以下错误.

Terminating app due to uncaught exception 'NSInvalidArgumentException', 
  reason: '-  [__NSCFDictionary dataUsingEncoding:]: 
  unrecognized   selector sent to instance 0x7987d60'
Run Code Online (Sandbox Code Playgroud)

代码如下:

NSData *data = [str dataUsingEncoding:NSASCIIStringEncoding]; 
//NSUTF8StringEncoding also failed.
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
Run Code Online (Sandbox Code Playgroud)

在我看来,这是因为str包含换行符:'\n'.

我对么?

请问有人帮我解决这个问题吗?

jms*_*617 9

您的错误表明您正在尝试发送dataUsingEncoding:allowLossyConversion:到一个实例NSDictionary,该实例不知道如何处理该选择器.确保你的str对象实际上是一个字符串......