色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

ios數據轉換成json怎么設置

錢斌斌2年前8瀏覽0評論

iOS開發中,經常要涉及到將數據轉換成json格式的操作。下面我們來看一下具體如何設置。

首先,我們需要將數據封裝成字典或者數組。例如:

NSDictionary *dict = @{
@"name": @"小明",
@"age": @18,
@"address": @"北京市海淀區"
};

可以看到,我們將一些基本類型的數據,如字符串、數字,都封裝在字典中。

接著,我們需要使用NSJSONSerialization類的方法將字典轉換成json數據。方法如下:

NSError *error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict
options:NSJSONWritingPrettyPrinted
error:&error];
if (jsonData && !error) {
NSString *json = [[NSString alloc] initWithData:jsonData 
encoding:NSUTF8StringEncoding];
NSLog(@"json數據:%@", json);
} else {
NSLog(@"%@", error.localizedDescription);
}

上述代碼將字典轉換成json數據,并打印出來。我們可以通過options參數設置輸出json數據的格式,NSJSONWritingPrettyPrinted表示輸出格式為美觀的格式。

最后,我們需要將json數據轉換成字典或者數組。方法如下:

NSError *error = nil;
id jsonObject = [NSJSONSerialization JSONObjectWithData:jsonData 
options:NSJSONReadingMutableContainers 
error:&error];
if (jsonObject && !error) {
if ([jsonObject isKindOfClass:[NSDictionary class]]) {
NSDictionary *resultDict = (NSDictionary *)jsonObject;
NSLog(@"字典:%@", resultDict);
} else if ([jsonObject isKindOfClass:[NSArray class]]) {
NSArray *resultArray = (NSArray *)jsonObject;
NSLog(@"數組:%@", resultArray);
}
} else {
NSLog(@"%@", error.localizedDescription);
}

上述代碼將json數據轉換成字典或者數組,并打印出來。我們可以通過判斷jsonObject的類型,來確定需要轉換成字典還是數組。