我想將NSDictionary的內容放入NSString中進行測試,但不知道如何實現這一點。可能嗎?如果是這樣的話,會怎麼做?將NSDictionary轉換爲NSString
我這樣做的原因,我需要檢查一個NSDicitonary的內容,而無需在我的設備上運行調試器。因爲我不得不從ios的多任務欄中刪除正在運行的應用程序,所以我可以看到我保存到字典中的值是否仍然可用。
我想將NSDictionary的內容放入NSString中進行測試,但不知道如何實現這一點。可能嗎?如果是這樣的話,會怎麼做?將NSDictionary轉換爲NSString
我這樣做的原因,我需要檢查一個NSDicitonary的內容,而無需在我的設備上運行調試器。因爲我不得不從ios的多任務欄中刪除正在運行的應用程序,所以我可以看到我保存到字典中的值是否仍然可用。
您可以撥打[aDictionary說明],或任何你需要的格式字符串,只需使用%@站在了詞典:
[NSString stringWithFormat:@"my dictionary is %@", aDictionary];
或
NSLog(@"My dictionary is %@", aDictionary);
啊..很酷,是啊我知道如何登錄,但不知道你可以做到這一點,讓它進入nsstring ..很酷, – 2012-04-12 00:57:13
虐待標記你的答案,一旦我被允許太:) – 2012-04-12 00:57:28
如何從JData格式的NSData獲取谷值。 – 2012-08-07 04:14:08
您可以使用由NSDictionary
從NSObject
繼承的description
方法,或者編寫一個自定義方法,將NSDictionary
格式化爲您的喜好。
描述方法提供了一些額外的信息,除了實際的字典數據。 – Adeel 2016-09-21 08:47:37
Above Solutions只會將字典轉換爲字符串,但不能將該字符串轉換回字典。 因爲這是更好的方法。
轉換爲字符串
NSError * err;
NSData * jsonData = [NSJSONSerialization dataWithJSONObject:yourDictionary options:0 error:&err];
NSString * myString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"%@",myString);
轉換回詞典
NSError * err;
NSData *data =[myString dataUsingEncoding:NSUTF8StringEncoding];
NSDictionary * response;
if(data!=nil){
response = (NSDictionary *)[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&err];
}
它適用於單個字典。什麼在多字典的情況下?我無法將其轉換回字典。 – 2015-12-15 12:03:45
如果字典有數組作爲值,它不工作 – 2016-05-17 09:01:35
@VineetAshtekar看到這個問題的標題。 問題是將NSDictionary轉換爲NSString。 – 2016-05-19 08:22:36
類似的問題:http://stackoverflow.com/questions/3424439/view-contents-of-nsmutabledictionary – 2012-04-12 00:57:20