我正在编写一个处理图片相册的应用程序。
我有以下列出专辑的 JSON 文档。
{
"Albums": [
{
"id": 1234,
"Title": "My Birthday 2008",
"Category": {
"id": 0,
"Name": "Birthdays"
}
},
{
"id": 5678,
"Title": "Disneyland Trip 2010"
"Category": {
"id": 1,
"Name": "Trips"
},
}
]
}
如您所见,相册位于类别中。
我已经使用 NSJSONSerialization 类将其带入一个 NSDictionary 对象,该对象包含一个 NSDictionaries 的 NSArray(根据上述 JSON 的“模式”)。
由此,我想生成一个由唯一的 Categories NSDictionary 对象组成的 NSArray。就像是:
{
"Categories": [
{
"id": 0,
"Name" : "Birthdays"
},
{
"id": 1,
"Name" : "Trips"
},
]
}
搜索stackoverflow,我发现了一些看起来像好的构建块的东西
categories = [albums valueForKeyPath:@"@distinctUnionOfObjects.Category.Name"];
但这显然只会生成 NSStrings 的 NSArray。我想要的是一个 NSDictionaries 的 NSArray,其中有两个对象,键为“id”和“Name”。如果没有嵌套 if 循环的穷人/蛮力方法,我似乎无法将它们放在一起来获得我想要的东西。我想我正在为 NSDictionary 或 NSArray 类寻找一些实用方法,可以帮助我更快地做到这一点。
任何帮助表示赞赏,谢谢。