iOS 中,解析 JSON 數組(NSArray)通常使用 NSJSONSerialization 類。
解析 JSON 數組需要引入 NSJSONSerialization 這個類:
#import <Foundation/Foundation.h>
接著,定義需要解析的 JSON 數組:
NSArray *jsonArray = @[ @{@"name":@"apple", @"price":@5.0}, @{@"name":@"banana", @"price":@3.0} ];
接下來就可以使用 NSJSONSerialization 類進行解析:
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonArray options:NSJSONWritingPrettyPrinted error:nil];
NSArray *parsedArray = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil];
其中,dataWithJSONObject 方法將 JSON 數組轉換成 NSData 類型,而 JSONObjectWithData 方法則將 NSData 類型轉換成 NSArray 類型。
最后,可以遍歷解析后得到的 NSArray 數組:
for (NSDictionary *dict in parsedArray) {
NSString *name = dict[@"name"];
NSNumber *price = dict[@"price"];
NSLog(@"name: %@, price: %@", name, price);
}
使用 NSJSONSerialization 解析 JSON 數據非常輕便快捷,但也有缺點,就是不支持解析含有自定義類或對象的 JSON 數據。對于這種情況,就需要使用其他第三方庫進行解析。