在iOS開發(fā)中,經(jīng)常需要將數(shù)組轉(zhuǎn)換為JSON字符串。這個(gè)過程很簡單,只需要使用系統(tǒng)自帶的NSJSONSerialization類的一個(gè)靜態(tài)方法即可。
假設(shè)我們有一個(gè)數(shù)組a,元素分別為字符串"Hello"、數(shù)字5和布爾值YES。
NSArray *a = @[@"Hello", @5, @YES];
我們可以使用如下代碼將此數(shù)組轉(zhuǎn)換成JSON字符串:
NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:a options:NSJSONWritingPrettyPrinted error:&error]; NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
在上面的代碼中,dataWithJSONObject:options:error: 方法會將數(shù)組a轉(zhuǎn)換成二進(jìn)制數(shù)據(jù),然后我們再用initWithData:encoding:方法將這些二進(jìn)制數(shù)據(jù)轉(zhuǎn)換成字符串。
options參數(shù)指定JSON格式的一些選項(xiàng)。比如,我們可以指定NSJSONWritingPrettyPrinted選項(xiàng)來讓輸出的JSON字符串格式化得更好看。
最后,我們需要根據(jù)轉(zhuǎn)換結(jié)果判斷操作是否成功。如果出錯,可以通過error參數(shù)來查看錯誤信息。
if (!jsonData) { NSLog(@"轉(zhuǎn)換成JSON字符串失敗: %@", error); } else { NSLog(@"%@", jsonString); }
上述代碼在控制臺輸出JSON字符串:
[ "Hello", 5, true ]
至此,我們已經(jīng)學(xué)會了如何將iOS數(shù)組轉(zhuǎn)換為JSON字符串?dāng)?shù)組。