我是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" != "forum"
分开,并将相应的数据存储在数组中。
帮助和解决方案将受到赞赏。
答案 0 :(得分:3)
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"];
}];
这是你可以做什么的草图
答案 1 :(得分:1)
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"]];
}
此处所有数据按照您的密钥排列