我正在使用iOS应用程序,我必须解码json响应。
响应数据如下所示:
[{"owner":"123456789","id":"1","liked":"0","unliked":"0","nickname":"jack","filename":"name_image.jpg","user":null,"image":null,"type":null}]
这是我的应用中的代码:
//parse out the json data
NSError* error;
NSDictionary* json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSString *owner = [json valueForKey:@"owner"];
NSLog(@"\n\nowner: %@", owner);
在日志中我看到了:
owner: (
3402379524
)
如何删除圆括号并获得正确的值? 我也尝试过使用它:
NSDictionary *owner_image = [json objectForKey:@"owner"];
但是应用程序崩溃了。
答案 0 :(得分:4)
你有字典数组,所以你需要先获取数组对象,然后才能从字典中获取值。
NSArray* json = [NSJSONSerialization JSONObjectWithData:data options:kNilOptions error:&error];
NSString *owner = json[0][@"owner"];
NSLog(@"\n\nowner: %@", owner);
为了更好地理解结构,请参见下图。
答案 1 :(得分:0)
NSDictionary *owner_image = [((NSDictionary *)[json objectForIndex:0]) objectForKey:@"owner"];