標籤:
IOS中JSON資料解析
官方為我們提供的解析JSON資料的類是NSJSONSerialization,首先我們先來看下這個類的幾個方法:
+ (BOOL)isValidJSONObject:(id)obj;
判斷一個資料對象是否可以轉化為JSON資料
+ (NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error;
將JSON資料寫為NSData資料,其中opt參數的枚舉如下,這個參數可以設定,也可以不設定,如果設定,則會輸出視覺美觀的JSON資料,否則輸出緊湊的JSON資料。
typedef NS_OPTIONS(NSUInteger, NSJSONWritingOptions) { NSJSONWritingPrettyPrinted = (1UL << 0)}
+ (id)JSONObjectWithData:(NSData *)data options:(NSJSONReadingOptions)opt error:(NSError **)error;
這個方法是解析中資料的核心方法,data是JSON資料對象,可以設定一個opt參數,具體用法如下:
typedef NS_OPTIONS(NSUInteger, NSJSONReadingOptions) { //將解析的數組和字典設定為可變對象 NSJSONReadingMutableContainers = (1UL << 0), //將解析資料的子節點建立為可變字串對象 NSJSONReadingMutableLeaves = (1UL << 1), //允許解析對象的最上層不是字典或者數組 NSJSONReadingAllowFragments = (1UL << 2)}
+ (NSInteger)writeJSONObject:(id)obj toStream:(NSOutputStream *)stream options:(NSJSONWritingOptions)opt error:(NSError **)error;
將JSON資料寫入到輸出資料流,返回的是寫入流的位元組數
+ (id)JSONObjectWithStream:(NSInputStream *)stream options:(NSJSONReadingOptions)opt error:(NSError **)error;
從輸入資料流讀取JSON資料
IOS中JSON資料的解析