extray dictionary swift iOS中的字典中的滤波json响应



我正在获得

的nsdictionary list的响应
 {
"products": {
    "title": "Chair",
    "regular_price": "2.22",
    "dimensions": {
        "width": "",
        "height": "",
        "length": ""
    },
    "attributes": [{
        "options": ["11/30/2016"],
        "name": "Arrival Date"
    }, {
        "options": ["Black"],
        "name": "Color"
    }],
    "categories": ["28"]
}

} .....

使用nspredicate我可以使用

过滤包含价值的"椅子"的产品
let namepredicate = NSPredicate(format: "title == Chair")
           self.filteredProducts = (self.product).filteredArrayUsingPredicate(namepredicate)

但是,我如何过滤"颜色","黑色"属性中的哪个和"黑色"在另一个数组中(swift)?

首先,将 self.product重命名为 self.products。这是多个产品的数组,相应地命名。

您可以用:

替换现有的NSPredicate混乱
self.filteredProducts = self.products.filter{ $0["title"] == "Chair" }

您可以像这样颜色过滤:

self.filteredProducts = self.products.filter{ product in
    return product["attributes"]?.contains{ attribute in
        return attribute["name"] == "Color" &&
               attribute["options"]?.contains("Black") ?? false
    } ?? false
}

相关内容

  • 没有找到相关文章

最新更新