OGeek|极客世界-中国程序员成长平台

标题: 带有嵌套 JSON 数组的 iOS NSPredicate [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 09:59
标题: 带有嵌套 JSON 数组的 iOS NSPredicate

考虑以下 JSON 对象:

[
  {
  "name":"joe",
  "place":"here",
  "type":[
     "abc",
     "cde",
     "efg"
     ]
  },
  {
  "name":"ian",
  "place":"somewhere",
  "type":[
     "c",
     "ddd",
     "eee"
     ]
  },
  {
  "name":"mike",
  "place":"there",
  "type":[
     "any",
     "place",
     "nice"
     ]
  },
]

我如何在 Objective-C 中创建一个谓词来查询不同“类型”对象的值并根据它进行过滤

谢谢



Best Answer-推荐答案


使用 block 创建谓词,并在 block 内创建比较函数。

NSPredicate *predicate = [NSPredicate predicateWithBlock:^BOOL(id evaluatedObject, NSDictionary * bindings) {
  if([[evaluatedObject objectForKey"name"] isEqual"SomeString]) {
     return YES;
  } else {
     return NO;
  }
}

这个简单的第一级比较,但你明白了。从此对象中,您可以更深入地返回 YES/NO,此时您可以确定比较结果。

关于带有嵌套 JSON 数组的 iOS NSPredicate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27484576/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4