【发布时间】:2020-06-13 03:18:07
【问题描述】:
我想像这样过滤数据集:
例如这里是一些假数据集:
[
{
"name": "Sakura",
"hasChildren": false,
"livesInCity": true,
"pets": [
{
"cats": ["Luna", "Milk"],
"type": "tabby"
}
]
},
{
"name": "Linn",
"hasChildren": false,
"livesInCity": true,
"pets": [
{
"cats": ["Luna"],
"type": "tabby"
}
]
},
{
"name": "Donna",
"hasChildren": false,
"livesInCity": false,
"pets": [
{
"cats": ["Luna", "Milk"],
"type": "tabby"
}
]
},
{
"name": "Tia",
"hasChildren": false,
"livesInCity": false,
"pets": [
{
"cats": ["Luna", "Milk"],
"type": "tuxedo"
}
]
},
{
"name": "Dora",
"hasChildren": false,
"livesInCity": true,
"pets": [
{
"cats": ["Artemis", "Milk"],
"type": "tuxedo"
}
]
}
]
我想过滤掉所有有"livesInCity": false:
[
{
"name": "Sakura",
"hasChildren": false,
"livesInCity": true,
"pets": [
{
"cats": ["Luna", "Milk"],
"type": "tabby"
}
]
},
{
"name": "Linn",
"hasChildren": false,
"livesInCity": true,
"pets": [
{
"cats": ["Luna"],
"type": "tabby"
}
]
},
{
"name": "Dora",
"hasChildren": false,
"livesInCity": true,
"pets": [
{
"cats": ["Artemis", "Milk"],
"type": "tuxedo"
}
]
}
]
我该怎么做?这可能吗?
在python中我相信是这样的,但我不知道如何开始使用Swift:
people = [person for person in people if person.livesInCity == True]
另外,我怎样才能过滤上面的这个数据集看起来像这样 - 我想按名称分类。
{
"tabby": ["Sakura", "Linn"],
"tuxedo": ["Dora"],
}
任何帮助将不胜感激!
【问题讨论】:
-
Swift 不能直接使用 JSON。您首先将 JSON 转换为 Swift 对象 - 在这种情况下,这将是一个对象数组,然后您可以在数组上使用
.filter函数,并使用您需要的任何逻辑。