首页 > 学院 > 开发设计 > 正文

json数据解析

2019-11-14 18:18:45
字体:
来源:转载
供稿:网友

json文件:

{    "count":"3",    "friend": [               {               "name": "zhangsan",               "pwd": "12345",               "nickName": "zs",               "sex": "nan"               },               {               "name": "lisi",               "pwd": "12345",               "nickName": "ls",               "sex": "nv"               },               {               "name": "wangwu",               "pwd": "12345",               "nickName": "ww",               "sex": "nan"               }             ]}

在json文件中,{}相当于字典,[]相当于数组,所以在对json数据进行解析是,根据获得的数据不同,创建不同的对象来接收

先将数据存入data中,使用系统方法NSJSONSerialization

 //系统json解析,    //1.要解析的数据对象.   2.解析的类型    NSMutableDictionary *datadic=[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];//获取键为"count"的值    NSString *count=[datadic objectForKey:@"count"];    NSLog(@"%@",count);//获取信息数组    NSMutableArray *array=[datadic objectForKey:@"friend"];//遍历输出    for (int i=0; i<array.count; i++) {        NSMutableDictionary *dic=array[i];        NSLog(@"%@",[dic objectForKey:@"name"]);        NSLog(@"%@",[dic objectForKey:@"pwd"]);        NSLog(@"%@",[dic objectForKey:@"nickName"]);        NSLog(@"%@",[dic objectForKey:@"sex"]);    }

options参数指定了解析JSON的模式,有3种格式可供选择

 

NSJSONReadingMutableContainers。指定解析返回的是可变的数组或字典。如果以后需要修改结果, 图灵社区会员 FAID 专享 尊重版权这个常量是合适的选择。
NSJSONReadingMutableLeaves。指定叶节点是可变字符串。
NSJSONReadingAllowFragments。指定顶级节点可以不是数组或字典。

 

 

 

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表