NSJSONSerialization-JSON数据与NSDictionary和NSArray之间的转
发布时间:2020-12-16 19:46:20 所属栏目:百科 来源:网络整理
导读:在iOS 5 中,苹果引入了一个解析JSON串的 NSJSONSerialization 类。 通过该类,我们可以完成JSON数据与 NSDictionary 和 NSArray 之间的转化。 以前,我记得我用的是第三方的插件。但是,苹果出了这套解析后,效率也大大了超过了,所有的解析第三方类库。所
在iOS
通过该类,我们可以完成JSON数据与NSDictionary和NSArray之间的转化。 以前,我记得我用的是第三方的插件。但是,苹果出了这套解析后,效率也大大了超过了,所有的解析第三方类库。所以,推荐使用NSJSONSerialization类来完成转化。 一、将NSDictionary或NSArray转化为JSON串 //将字典或者数组转化为JSON串 - (NSData*)toJSONData:(id)theData{ } 使用这个方法的返回,我们就可以得到想要的JSON串 NSString*jsonString = [[NSStringalloc]initWithData:jsonData 二、将JSON串转化为NSDictionary或NSArray 将NSString转化为NSData [jsonStringdataUsingEncoding:NSASCIIStringEncoding]; //将JSON串转化为字典或者数组 - (id)toArrayOrNSDictionary:(NSData*)jsonData{ } 三、将JSON串与NSArray和NSDictionary的操作进行封装 当然,也有很多时候,我们将这些操作,分别定义在NSObject和NSString的一个分类中 直接贴: 1.将NSString转化为NSArray或者NSDictionary #import"NSString+JSONCategories.h" @implementationNSString(JSONCategories) -(id)JSONValue; { } @end 2.将NSArray或者NSDictionary转化为NSString #import"NSObject+JSONCategories.h" @implementationNSObject (JSONCategories) -(NSData*)JSONString; { result = [NSJSONSerializationdataWithJSONObject:self } @end 顺便提加一下 这个JSON格式就是
|
1
2
3
4
|
{
"姓名":"大憨",
"年龄":24
}
|
2、数组是值(value)的有序集合。
(1)一个数组以“[”(左中括号)开始,“]”(右中括号)结束。
(2)值之间使用“,”(逗号)分隔。
例子:一组学生
"学生":
[
{"姓名":"小明","年龄":23},
{"姓名":"大憨","年龄":24}
]
}
|
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!