iOS開發(fā)中,經(jīng)常需要把數(shù)組轉(zhuǎn)成JSON字符串或?qū)ο螅S玫姆绞绞鞘褂孟到y(tǒng)提供的NSJSONSerialization類。下面我們就來介紹一下具體實現(xiàn)步驟。
首先,我們需要先創(chuàng)建一個數(shù)組,例如:
NSArray *myArray = @[@"apple", @"banana", @"orange"];
接下來,我們使用NSJSONSerialization類的類方法JSONObjectWithData:options:error:把數(shù)組轉(zhuǎn)成NSData類型的JSON數(shù)據(jù):
NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:myArray options:NSJSONWritingPrettyPrinted error:&error];
其中,NSJSONWritingPrettyPrinted參數(shù)表示生成的JSON數(shù)據(jù)按照規(guī)定格式進行排列,可讀性更高。
然后,我們使用NSJSONSerialization類的類方法JSONObjectWithData:options:error:把JSON數(shù)據(jù)轉(zhuǎn)成JSON字典或數(shù)組,具體情況根據(jù)JSON數(shù)據(jù)的格式而定。這里我們以數(shù)組為例:
NSArray *jsonArray = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:&error];
其中,NSJSONReadingMutableContainers參數(shù)表示生成的JSON數(shù)據(jù)可以被修改。
最后,我們把NSData類型的JSON數(shù)據(jù)轉(zhuǎn)成NSString類型的JSON字符串,方便傳輸和存儲:
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
至此,我們完成了把數(shù)組轉(zhuǎn)成JSON字符串或?qū)ο蟮恼麄€過程。