SBJson数据的生成和解析

Json是一种类似XML的数据传输方式。已经是一种普遍使用的网络传输格式。

以下是我使用json的总结。

经常会用到json在序列化和反序列。不多说,用例子说明一切。

 

1.把json数据解析成通用数据的实例:

id jsonObject = [jsonString JSONValue];

通过判断jsonObject在类型解析数据。

 

2.把数据组织成jason数据的实例:

通过观察json数据的组织方式,可以理解json数据的解析方式。

{"age":30,"name":"xcode","num":["first","second","third"]}             //json 数据

 

    NSMutableDictionary *jsonDic = [NSMutableDictionarydictionaryWithCapacity:4];

    NSNumber *age = [NSNumber numberWithInt:30];

    NSArray *aArray = [NSArray arrayWithObjects:@"first"@"second"@"third"nil];

    [jsonDic setObject:@"xcode" forKey:@"name"];

    [jsonDic setObject:age forKey:@"age"];

    [jsonDic setObject:aArray forKey:@"num"];

    

    SBJsonWriter *jsonWriter = [[SBJsonWriter allocinit];

    NSString *jsonStr = [jsonWriter stringWithObject:jsonDic];

    NSData *jsonData = [jsonWriter dataWithObject:jsonDic];

 

 注:json内容被SBJson转换为Objective-C的类型的方式如下:

Null -> NSNull
String -> NSMutableString
Array -> NSMutableArray
Object -> NSMutableDictionary
Boolean -> NSNumber
Number -> NSDecimalNumber

重要:  上面的转换指向,可以直观地这样理解:

{"age":30,"name":"xcode","num":["first","second","third"]}    

30 是number   转换后会变成NSDecimalNumber    

xcode 是String  转换后会变成NSMutableString    

["first","second","third"] 是Array  转换后会变成 NSMutableArray     即 key  "num" 对应的对象就是一个数组。而这个数据就包含了上面的内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值