SBJson库解析(一)
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]