(具体可以我自己的60天-数据库网络--Json解析之生成项目。)
注意点:
1:解析数据有两种:XML和JSON。JSON在ios相对而言使用较多。因为json更为简洁,数据量较小
2:JSON分为:生成JSON和解析JSON
3:如果不想php页面显示DEPRECATED或者NOTICE,可以在头部加入下面两行代码,因为如果PHP界面有DEPRECATED的话,那么在解析的时候,解析是不成功的。
error_reporting(E_ALL ^ E_DEPRECATED);
//error_reporting(E_ALL^ E_NOTICE);
4:解析JSON指的当请求返回的内容是数组或者字典,这时候我们就把返回内容变成JSON形式。
5:当我们使用对象类的形式来解析JSON时,需要注意的一点就是 对象类中的属性名称需要和请求返回的内容对应好。例如访问select.php表后返回的是一个user表中的(id, name, pass), 那么我们的user类就要有这三个对应的属性(id, name, pass)存在。
一、生成JSON
(1):只能把一个对象或者一个对象的数组(数组中是字典)或者一个字典转换成JSON,因为一个字典中对应的就是对象的属性,而且对象的行为是不可以放到JSON中的。
(2):使用NSJSONSerialization来生成JSON对象,并且其中的options:NSJSONWritingPrettyPrinted,这里用的是 writing。而解析JSON 用的是reading
(3):代码:
- (IBAction)createJSONAction:(UIButton *)sender {
NSDictionary * dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"张三",@"name",@"男",@"sex", @"22", @"age", nil];
NSDictionary * dic2 = [NSDictionary dictionaryWithObjectsAndKeys:@"李斯",@"name",@"女",@"sex", @"33", @"age", nil];
NSArray * arr = [NSArray arrayWithObjects:dic1, dic2, nil];
NSLog(@"%@", arr);
//转换为