得到JSON我得到newDetails的值作为string.When我试试下面的代码我得到一个例外,因为无法从字符串
[__NSArrayI dataUsingEncoding:]:无法识别的选择发送到实例。
我宣布newDetail
作为NSString
。而且,在这个和下面的代码中的newDetail
的值都是相同的。 下面的代码:
newDetail = [response valueForKey:@"newDetail"];
//newDetail prints as {"number":1,"nid":"1","pId":"3","name":"","me":"","day":"1"}
NSError *error;
NSData* data = [newDetail dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary* json = [NSJSONSerialization
JSONObjectWithData:data
options:kNilOptions
error:&error];
但是当我尝试下面的代码,它完美地运行:
newDetail = @" {\"number\":1,\"nid\":\"1\",\"pId\":\"3\",\"name\":\"\",\"me\":\"\",\"day\":\"1\"}";
NSError *error;
NSData* data = [newDetail dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary* json = [NSJSONSerialization
JSONObjectWithData:data
options:kNilOptions
error:&error];
谁能告诉我为什么我收到异常?
我的猜测是,对于关键的“newDetail”值不一个字符串,但其他一些数据类型。可能[NSNull null]。 – Chris
我正在打印newDetail的值,它不为空 – apurv
而且您确定它是作为字符串而不是字典返回的?正在打印的行不明确。 – Chris