ios - Objective-C中如何解析JSON响应的数据?

标签 ios objective-c json facebook-graph-api nsdictionary

我在这个 link 中得到了一个 JSON 输出

我在此输出中提取了 id。 (即)

419023188150340,
419023228150336,
419023278150331,
419023318150327,
419044998148159,
419045028148156

使用下面的代码

[[dict objectForKey:@"data"]valueForKey:@"id"];

dict 具有显示在 link 上的总输出

我在表格 View 中显示了这个。
现在,如果我点击表格 View 中的单元格。该表应获取“图片”的值并将其显示在控制台 (NSLog) 中。

我使用以下代码获取响应并将其存储在字典中(此处为 dict)

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{
    responseData=nil;
    idArray=nil;
    responseData=[[NSMutableData alloc]init];
    idArray=[[NSMutableArray alloc]init];
    dict=[[NSDictionary alloc]init];   
}
- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{
    [responseData appendData:data];
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection 
{
    dict=[NSJSONSerialization JSONObjectWithData:responseData options:0 error:NULL];
    [idArray addObjectsFromArray:[[dict objectForKey:@"data"]valueForKey:@"id"]];
    [tableVw reloadData];
}

谁能告诉我怎么做。

最佳答案

你做错了。你首先得到一个 IDS 的 NSArray,你必须遍历它来提取每个 ID。试试这个-

NSArray *fbIds = [dict objectForKey:@"data"];
for(NSDictionary *fbId in fbIds)
{
    NSLog("FB ID: %@", [fbID valueForKey:@"id"]);
}

提取正确的 Facebook_ID 后,您可以使用 http://graph.facebook.com/419023188150340/picture 获取您的照片。希望这有助于...

关于ios - Objective-C中如何解析JSON响应的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16105437/

相关文章:

ios - 使用 VoiceOver 在多个 UITableView 之间切换会导致崩溃

java - 使用json API上传文件android

json - 当 'Content-Type' 设置为 'application/json' 时,无法发送 post 请求

iphone sqlite 问题

c# - WinForms 类似 iPad 的界面原型(prototype)设计应用程序

iphone - 如何释放返回的对象?

objective-c - 将 JSON 反序列化为嵌套核心数据实体时出现 iPhone 核心数据 "Failed to call designated initializer on NSManagedObject class"错误

javascript - 使用 underscorejs 映射多维数组

ios - 将 Core Location 作为 ObservableObject 的 SwiftUI 崩溃

ios - 如何将不在 JSON 中的其他属性添加到 RestKit 映射