官方爲咱們提供的解析JSON數據的類是NSJSONSerialization,首先咱們先來看下這個類的幾個方法:數組
+ (BOOL)isValidJSONObject:(id)obj;spa
判斷一個數據對象是否能夠轉化爲JSON數據3d
+ (NSData *)dataWithJSONObject:(id)obj options:(NSJSONWritingOptions)opt error:(NSError **)error;code
將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參數,具體用法以下:it
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;io
將JSON數據寫入到輸出流,返回的是寫入流的字節數table
+ (id)JSONObjectWithStream:(NSInputStream *)stream options:(NSJSONReadingOptions)opt error:(NSError **)error;stream
從輸入流讀取JSON數據
專一技術,熱愛生活,交流技術,也作朋友。
——琿少 QQ羣:203317592