过滤子数据';IOS中JSON数据中的s

过滤子数据';IOS中JSON数据中的s,ios,json,Ios,Json,我不熟悉iOS&JSON解析,我得到了一些JSON数据,比如 [ { "id":3, "name":"SCORM 0", "visible":1, "summary":"", "summaryformat":1, "modules":[ { "id":1,

我不熟悉iOS&JSON解析,我得到了一些JSON数据,比如

 [
     {
         "id":3,
         "name":"SCORM 0",
         "visible":1,
         "summary":"",
         "summaryformat":1,
         "modules":[
                    {
                        "id":1,
                        "url":"http:\/view.php?id=1",
                        "name":"Course01",
                        "visible":1,
                        "modicon":"http:\theme\/image.php\/standard\/scorm\/1378190687\/icon",
                        "modname":"scorm",
                        "modplural":"SCORM packages",
                        "indent":0
                    },
                    {
                        "id":2,
                        "url":"http:\/\/192.168.4.196\/moodle\/mod\/forum\/view.php?id=2",
                        "name":"News forum",
                        "visible":1,
                        "modicon":"http:\//image.php\/standard\/forum\/1378190687\/icon",
                        "modname":"settle",
                        "modplural":"Forums",
                        "indent":0
                    }
                    ]
     },
     {
         "id":2,
         "url":"http:\/\/view.php?id=2",
         "name":"News forum",
         "visible":1,
         "modicon":"http:\/\theme\/image.php\/standard\/forum\/1378190687\/icon",
         "modname":"forum",
         "modplural":"Forums",
         "indent":0
     }
     ]
我需要分离与
“modname”!=“论坛”
并将相应的数据存储在阵列中

我们将感谢您的帮助和解决方案

NSMutableArray *jsonArray = [[NSJSONSerialization JSONObjectWithData: data options: NSJSONReadingMutableContainers error: &e] mutableCopy];

jsonArray = [jsonArray filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary *bindings) {
    return ![evaluatedObject[@"modname"] isEqualToString:@"forum"];
}];
这是你能做什么的草图

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

    NSLog(@"%@",json);

    NSLog(@"%@",delegate.firstArray);

    NSArray * responseArr = json[@"Deviceinfo"];

    for(NSDictionary * dict in responseArr)
    {
        [delegate.firstArray addObject:[dict valueForKey:@"id"]];
        [delegate.secondArray addObject:[dict valueForKey:@"name"]];
        [delegate.thirdArray addObject:[dict valueForKey:@"visible"]];
        [delegate.fourthArray addObject:[dict valueForKey:@"summery"]];

    }
这是你能做什么的草图

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

    NSLog(@"%@",json);

    NSLog(@"%@",delegate.firstArray);

    NSArray * responseArr = json[@"Deviceinfo"];

    for(NSDictionary * dict in responseArr)
    {
        [delegate.firstArray addObject:[dict valueForKey:@"id"]];
        [delegate.secondArray addObject:[dict valueForKey:@"name"]];
        [delegate.thirdArray addObject:[dict valueForKey:@"visible"]];
        [delegate.fourthArray addObject:[dict valueForKey:@"summery"]];

    }
在这里,所有数据按照您的密钥排列



在这里,所有数据按照您的密钥排列

您可以查看昨天@Vik的一个问题,问题是我需要找到解决方案!=键中的值并存储所有其他值。如果您阅读了我在我链接的问题中给出的答案,这就是您要查找的内容请参见此您可以查看昨天的问题@Vik问题是我需要找到解决方案!=键中的值并存储所有其他值。如果你阅读了我在我链接的问题中给出的答案,你会发现这是你在寻找的。这将如何过滤数组,以便不包括“论坛”模块?因此,添加另一个键,并将该值像这样放入新数组[delegate.fourthArray addObject:[dict valueForKey:@“forum”];OP不希望每个键都有单独的数组,他希望在单个数组中包含除modname==“forum”之外的所有项。我还对这个答案中的
delegate
的用法感到困惑。我在APPDelegate.h中声明了这个数组,这就是我在这里使用delegate的原因。这将如何过滤数组,以便不包括“论坛”模块?因此,添加另一个键,并将该值像这样放入新数组[delegate.fourthArray addObject:[dict valueForKey:@“forum”];OP不希望每个键都有单独的数组,他希望在单个数组中包含除modname==“forum”之外的所有项。我还对这个答案中的
delegate
的用法感到困惑。我在APPDelegate.h中声明了那个数组,这就是我在这里使用delegate的原因。但是这个代码不起作用,输出包含id=2;缩进=0;modicon=“http:/87/icon”;modname=论坛;modmulal=论坛;name=“新闻论坛”;url=“http:/view.php?id=2”;可见=1;你把钥匙放好了吗!返回后,它显示O/P,如下所示{id=2;indent=0;modicon=“http:/php/standard/forum/1378190687/icon”;modname=forum;modplural=Forums;name=“News forum”;url=“”;可见=1;});name=“SCORM 0”;summary=“”;summaryformat=1;可见=1;}在块中,尝试写入:BOOL checked=![evaluatedObject[@“modname”]IseQualtString:@“论坛”];NSLog(@“Object%@,checked=%@”,evaluatedObject[@“modname”],checked?@“YES”:@“NO”);退货检查;它在日志中显示Object(null),checked=YES,并且NSLog的O/P相同(@“Filtered%@”,self.jsonData);但是这段代码不起作用,输出包含id=2;缩进=0;modicon=“http:/87/icon”;modname=论坛;modmulal=论坛;name=“新闻论坛”;url=“http:/view.php?id=2”;可见=1;你把钥匙放好了吗!返回后,它显示O/P,如下所示{id=2;indent=0;modicon=“http:/php/standard/forum/1378190687/icon”;modname=forum;modplural=Forums;name=“News forum”;url=“”;可见=1;});name=“SCORM 0”;summary=“”;summaryformat=1;可见=1;}在块中,尝试写入:BOOL checked=![evaluatedObject[@“modname”]IseQualtString:@“论坛”];NSLog(@“Object%@,checked=%@”,evaluatedObject[@“modname”],checked?@“YES”:@“NO”);退货检查;它在日志中显示Object(null),checked=YES,并且NSLog的O/P相同(@“Filtered%@”,self.jsonData);