Objective c 使用NSJSONSerialization提取内部json数据xcode
我对URL的json响应是:Objective c 使用NSJSONSerialization提取内部json数据xcode,objective-c,nsjsonserialization,Objective C,Nsjsonserialization,我对URL的json响应是: [ {"status":0, "id":"26", "content":"See info field for info", "time":1347565292761, "info": {"id":"26", "name":"Ruti", "twitterPageFollowers":null, "facebookPageLikes":null, "activeEmailClients":1} }
[
{"status":0,
"id":"26",
"content":"See info field for info",
"time":1347565292761,
"info": {"id":"26",
"name":"Ruti",
"twitterPageFollowers":null,
"facebookPageLikes":null,
"activeEmailClients":1}
}
]
我需要从中提取以下字符串:
twitterPageFollowers
facebookPageLikes
activeEmailClients
我怎么做
我试过这样解析
NSData *urlData=[NSURLConnection sendSynchronousRequest:serviceRequest returningResponse:nil error:nil ];
NSString *returnString=[[NSString alloc]initWithData:urlData encoding:NSUTF8StringEncoding];
NSData *jsonData = [returnString dataUsingEncoding:NSUTF8StringEncoding];
NSArray *json = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil];
NSDictionary *response = [json objectAtIndex:0];
NSString *info = [response objectForKey:@"info"];
NSData *businessInfoString = [info dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary *businessInfo =
[NSJSONSerialization JSONObjectWithData: businessInfoString
options: NSJSONReadingMutableContainers
error: nil];
返回的数据还可以,但我得到[\uu NSCFDictionary datausingencode:unrecognized selector,它被发送到实例,用于上次从info字段创建NSDictionary。
检索上述字段有什么错误或较短的方法是什么?当您使用[response objectForKey:@“info”];
检索“info”字段时,您已经得到了NSDictionary
!(而不是NSString
)
这就是为什么当您尝试调用此对象上的dataUsingEncoding:
(您认为它是NSString
,但作为NSDictionary
)时,会出现异常
无需检索
“info”
键的值,然后将其转换为NSData
并将其转换回一个JSONObject,因为它已经是一个JSONObject,即在您的情况下是一个NSDictionary
。既然[response objectForKey:@“info”]
已经返回了您期望的业务信息
字典在代码末尾?U-N-R-E-L-A-T-E-D到Xcode.retaged.Right。我从信息中提取了它。