У меня есть следующий json, который я пытаюсь сгруппировать, используя функцию swift.
{
"response": [
{
"user": "A",
"details": {
"source": "Tab"
}
},
{
"user": "B",
"details": {
"source": "Tab"
}
},
{
"user": "C",
"details": {
"source": "Desktop"
}
},
{
"user": "D",
"details": {
"source": "Mobile"
}
}
]
}
Итак, я попробовал группировать по ключу «детали», но он не позволит мне добавить ключ источника в методе группировки.
let groupedDict = Словарь (группировка: элементы, по: {$ 0 ["устройство"] как!
[String: String]})
Единственный способ, с которым я могу пойти - это итерировать каждый раз и фильтровать вручную.
Вывод, который я пытаюсь достичь, следующий:
{
"Mobile": [
{
"user": "C",
"details": {
"source": "Mobile"
}
}
],
"tab": [
{
"user": "A",
"details": {
"source": "Tab"
}
},
{
"user": "B",
"details": {
"source": "Tab"
}
}
],
"Desktop": [
{
"user": "C",
"details": {
"source": "Desktop"
}
}
]
}
Любые выводы приветствуются. ТИА
Edit:
Чтобы можно было отфильтровать его в определенном порядке. т.е. Mobile, Tab и Desktop, как показано в ответе.