2012-04-12 125 views
1

我正在寫一個應用程序,處理圖片的相冊。從NSArray的NSDictionary對象,如何獲得獨特的NSArray

我有以下列出相冊的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的「模式」)。

由此,我想要生成一個唯一的類別NSDictionary對象的NSArray。喜歡的東西:

{ 
    "Categories": [ 
    { 
     "id": 0, 
     "Name" : "Birthdays" 
    }, 
    { 
     "id": 1, 
     "Name" : "Trips" 
    }, 
    ] 
} 

精練計算器,我發現了一些東西,似乎是好積木

categories = [albums valueForKeyPath:@"@distinctUnionOfObjects.Category.Name"]; 

但這顯然只是產生NSString的的一個NSArray。我想要的是它是NSDictionaries的NSArray,其中有兩個對象,其中帶有「id」和「Name」鍵。我似乎無法將它們放在一起以獲得我想要的,而沒有嵌套if循環的poorman/brute方法。我想我正在尋找NSDictionary或NSArray類的一些實用方法,可以幫助我更快地完成此操作。

任何幫助表示讚賞,謝謝。

+0

使用JSON/SBJSON/JSON解析器來做好這項工作,不應該在這裏使用KVC – dayitv89 2012-04-12 04:38:15

+0

@steven,可以請你表現出一定的工作代碼。 – Vats 2016-01-08 13:08:20

回答