SBJson是一個開源的json庫,結構如下:
結構主要分為:主頭文件SBJson.h,一個對象類別擴展NSObject+SBJson.h,一個json解析包Parser,一個json編寫包Writer
任何使用SBJson庫的地方都要導入SBJson.h頭文件
#import "SBJson.h"
1.JSON轉Objective-C,方法如下:
null -> NSNull
string -> NSString
array -> NSMutableArray
object -> NSMutableDictionary
true -> NSNumber's -numberWithBool:YES
false -> NSNumber's -numberWithBool:NO
integer up to 19 digits -> NSNumber's -numberWithLongLong:
all other numbers -> NSDecimalNumber
true或false轉為 [NSNumber numberWithBool:YES]或[NSNumber numberWithBool:NO]
integer整數長度19位,表現為LongLong類型,[NSNumber numberWithLongLong:]
json允許大的離譜的數字,為避免任何精度損失,將其他復雜數變成NSDecimalNumber實例
2.Objective-C轉JSON,方法如下:
NSNull -> null
NSString -> string
NSArray -> array
NSDictionary -> object
NSNumber's -initWithBool:YES -> true
NSNumber's -initWithBool:NO -> false
NSNumber -> number
注意:JSON中對象的鍵key必須是字符串
NSDictionary中的鍵key,可能不是字符串,所以當擁有非字符串的鍵的NSDictionary轉為json時會拋出異常
主要兩個接口:
[NSObject JSONRepresentation]
[NSString JSONValue]