在目标c中从URL解析json

时间:2017-06-18 16:11:02

标签: objective-c json

我正在尝试从目标C中的URL解析一些JSON。

输出很好,但是,当我尝试获取notifications.id键的值时,它会返回一个SIGBRT错误。

代码:

NSDictionary *jsonData = [NSJSONSerialization
                                 JSONObjectWithData:data
                                 options:NSJSONReadingMutableContainers
                                 error:&serializeError];

     success = [jsonData[@"ERROR"] integerValue];

       if (success == 0) {
          NSLog(@"%@", jsonData[@"notifications"][@"id"]);
       }else{

       }

示例JSON是:

  

{ “通知”:[{ “ID”: “fae9a890-2791-46e2-ad9c-5a72f602a2e8”, “创建”: “2017-06-17T21:57:28 + 00:00”, “的thread_id”: 3964, “reply_id”:空, “线程”:{ “ID”:3964, “受试者”:“[CakePHP的]   分页“},”users_from“:{”用户名“:”皇家“},”内容“:”已发布了   答复   在 “},{” ID “:” 00732627-f23e-423E-b885-add968575972" , “创建”: “2017-06-17T20:08:05 + 00:00”, “的thread_id”:3964, “reply_id” :79478, “线程”:{ “ID”:3964, “受试者”:“[CakePHP的]   分页“},”users_from“:{”用户名“:”皇家“},”内容“:”引用   你在“}]}

我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

notifications的对象显然是一个数组。请阅读JSON:[]是数组,{}是字典。

NSArray *notifications = jsonData[@"notifications"];
for (NSDictionary * notification in notifications) {
     NSLog(@"%@", notification[@"id"]);
}