2015-09-09 75 views
0

關於這個話題有很多問題,但我一直沒能找到答案。如何將字典轉換爲json格式?

我工作的一個反應,原生應用程序,我需要隱蔽的這本字典:

NSDictionary *title = @{ @"title": @"a journey to heaven", 
         @"title": @"history of gun Powder", 
         @"title": @"intro to Java"} ; 

我希望能夠將其轉換成JSON,這樣我可以參考表視圖數組中的元素。標題

請幫忙,謝謝!

+0

檢查NSJSONSerialization類:) – sloik

+1

我做了,但這些都有相同的鍵 – L887

+1

@ L887:你創建它後檢查字典嗎?有多少個關鍵值對? –

回答

0

它不完全清楚你爲什麼要轉換爲JSON。但我想我明白你希望能夠在桌面視圖中引用你的集合,對吧?如果這就是你需要做的,你不需要JSON,你只需要一個數組。你可能只是這樣做 - 首先聲明一個類的屬性(意味着整個類可以訪問它,在頭文件中聲明)

@property (strong, nonatomic) NSArray *titles; 

然後聲明數組在初始陣列像viewDidLoad中:

- (void) viewDidLoad { 
    self.titles = @[@"a journey to heaven", @"history of gun Powder", @"intro to Java"]; 
} 

在numberOfRowsInSection方法,返回數組的大小,例如:

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { 
return self.titles.count; 
} 

後來終於cellForRowAtIndexPath方法中,訪問數組來填充CE在桌面視圖︰

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { 
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"Cell"]; 
    cell.textLabel.text = [self.titles objectAtIndex:indexPath.row]; 
    return cell; 
} 

這並非所有你需要的tableview,但它的最重要的位。看看一個tableview教程,其中有數千個在網上。

根據我的經驗,當將文件保存到光盤或將其發佈到Web服務時,您只需考慮轉換爲JSON(例如字符串)。你沒有提到這樣做,所以我希望這是你所需要的。