我想从NSString中提取特定字段的值,我认为这是一个Json字符串。
我想做的是
NSString *picurl = [NSString stringWithFormat:@"%@",[result objectForKey:@"picture"]];
在这条指令之后,我正在接受picurl
{
data = {
"is_silhouette" = 1;
url = "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xfp1/v/t1.0-1/c15.0.50.50/p50x50/10354686_10150004552801856_220367501106153455_n.jpg?oh=0d6173b2f424d27585b00d7b7190a10c&oe=55AB362F&__gda__=1437591769_4adb584761f22e225809b0a8f10ffbca";
};
}
从上面我想提取url.How我可以这样做。我对Json一无所知。
答案 0 :(得分:2)
这意味着它是一个字典对象所以;
NSDictionary *pictureData = [result objectForKey:@"picture"];
NSDictionary *data = [pictureData objectForKey:@"data"];
NSString *picurl = [data objectForKey:@"url"];
答案 1 :(得分:1)
首先使用dataUsingEncoding将NSString转换为NSData:这样的方法:
NSData *data = [[result objectForKey:@"picture"] dataUsingEncoding:NSUTF8StringEncoding];
然后使用JSONObjectWithData方法并将其添加到数组:
NSArray *responseArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
如果你的字符串是字典格式,那么使用它:
NSDictionary *responseDictionary = [[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil]lastObject];
答案 2 :(得分:0)
一行答案:
NSString *picurl = result[@"picture"][@"data"][@"url"];
答案 3 :(得分:0)
根据我的意见,不要写这类代码:
self.name = [jsonDict objectForKey:@"name"];
NSString *picurl = [NSString stringWithFormat:@"%@",[result objectForKey:@"picture"]];
您可以使用JSONModel
因此,只需在接口文件中声明您的属性:
@interface MyModel: JSONModel
@property (strong, nonatomic) NSString* id;
@property (strong, nonatomic) NSString* name;
(etc...)
@end
JSONModel继承的initWithDictionary:方法会将传入的JSON密钥与模型的属性进行匹配,并复制匹配的密钥。您的实现文件中不需要任何代码。 You should take a moment to star and start watching JSONModel on GitHub: