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

ios數組json化

呂致盈2年前8瀏覽0評論

iOS中的數組和JSON之間常常需要相互轉換,因為我們拿到的數據往往是JSON格式,而處理數據往往需要使用數組。下面我們就來了解一下iOS中數組如何進行JSON化。

首先,我們需要使用iOS自帶的NSJSONSerialization類將數組轉化為JSON格式。NSJSONSerialization可以將NSArray和NSDictionary等數據類型轉換為JSON格式的NSData。

NSError *error;
NSArray *array = @[@"apple", @"banana", @"orange"];
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:array options:NSJSONWritingPrettyPrinted error:&error];
if (!jsonData) {
NSLog(@"轉換JSON失敗:%@", error);
} else {
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"JSON字符串:%@", jsonString);
}

在上述代碼中,我們首先創建了一個數組,然后使用dataWithJSONObject方法將其轉換為JSON格式的NSData。options參數是可選的,如果我們想要讓生成的JSON格式更易讀,可以設置為NSJSONWritingPrettyPrinted,這樣就會在生成的數據中加上空格和縮進。如果轉換失敗,就會將出錯信息打印出來,否則就將JSON格式的NSData轉換為NSString打印出來。

當然,我們也可以將JSON格式的NSData轉換為數組:

NSData *jsonData = [@"[1, 2, 3]" dataUsingEncoding:NSUTF8StringEncoding];
NSError *error;
id object = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingAllowFragments error:&error];
if (!object) {
NSLog(@"轉換數組失敗:%@", error);
} else {
NSArray *array = (NSArray *)object;
NSLog(@"數組:%@", array);
}

在上述代碼中,我們首先創建了一個JSON格式的NSData,然后使用JSONObjectWithData方法將其轉換為NSArray格式的數據。options參數是可選的,如果我們想要讓轉換過程更嚴格,可以設置為NSJSONReadingMutableContainers,這樣生成的NSArray或NSDictionary會是可變的,也就是可以進行增刪改操作。同樣,如果轉換失敗,就會將出錯信息打印出來,否則就將轉換出來的NSArray打印出來。