数据解析有名的第三方框架有SBJSON和JSONKit ,但是我项目中酒简简单单的使用了苹果自带的NSJSONSerialization来进行数据解析。
1 常用的方法有两个
[NSJSONSerialization JSONObjectWithData:<#(nonnull NSData *)#> options:<#(NSJSONReadingOptions)#> error:<#(NSError * _Nullable __autoreleasing * _Nullable)#>]
json数据转成OC对象, <#(nonnull NSData *)#> :NSData类型,通过
NSData *Data = [jsonStr dataUsingEncoding:NSUTF8StringEncoding];获取data
<#(NSJSONReadingOptions)#> :枚举类型
NSJSONReadingMutableContainers = (1UL << 0), 返回的是可变的容器,可以是可变的数组或字典
NSJSONReadingMutableLeaves = (1UL << 1), 返回的是可变的叶子节点 ,意思是类似可变数组里面的字典也是可变的
NSJSONReadingAllowFragments 不是以上两种就选择这个。
<#(NSError * _Nullable __autoreleasing * _Nullable)#> :填一个指针的地址,我一般填nil,代表不获取任何错误
[NSJSONSerialization dataWithJSONObject:<#(nonnull id)#> options:<#(NSJSONWritingOptions)#> error:<#(NSError * _Nullable __autoreleasing * _Nullable)#>
<#(nonnull id)#> :填需要解析成JSON的数据,数组或者字典,
<#(NSJSONWritingOptions)#> : 枚举址只有一个参数 ,但如果设置为0 可以过滤掉空格和回车.
获取解析完成的jsonstr NSString *jsonStr = [[NSString alloc]initWithData:jsonData encoding:NSUTF8StringEncoding];