首页 > 代码库 > 总结一
总结一
Json解析
JSON就是一串字符串 只不过元素会使用特定的符号标注。
{} 双括号表示对象
[] 中括号表示数组
"" 双引号内是属性或值
: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)
所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象
而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组
当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一部,这是一个拥有一个name数组的对象
实例:
- (void)viewDidLoad {
[super viewDidLoad];
NSString *jsonstr = @"{\"name\":\"zengjiewu\",\"gender\":\"male\",\"age\":\"20\",\"dog\":{\"name\":[\"heimeigui\",\"huangshi\"]}}";
//转换为二进制形式的json数据
NSData *data = http://www.mamicode.com/[jsonstr dataUsingEncoding:NSUTF8StringEncoding];
//将json数据转换为OC的对象
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingAllowFragments error:nil];
NSLog(@"%@",jsonstr);
NSLog(@"%@",dict);
NSLog(@"%@",dict[@"dog"][@"name"]);
//用字典dict里面键为“key”的键-值建立新字典dogdict
NSDictionary *dogdict = [dict objectForKey:@"dog"];
//用字典dogdict里面键为“name”的value建立数组array
NSArray *array = [dogdict objectForKey:@"name"];
NSLog(@"%@",array);
//用数组array里面位置为1的元素创建字符串name
NSString *name = [array objectAtIndex:1];
NSLog(@"%@",name);
//用字典dict里面键为“age"的创建对象age
NSNumber *age = [dict objectForKey:@"age"];
NSLog(@"%@",age);
//字典,数组,数值,字符串
NSArray *arr = @[@123,@"456",@{@"name":@"lisa",@"gender":@"fmale"}];
//将OC的对象转换为json数据
NSData *jsonData = http://www.mamicode.com/[NSJSONSerialization dataWithJSONObject:arr options:NSJSONWritingPrettyPrinted error:nil];
NSString *str = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
// NSLog(@"%@",jsonData);
NSLog(@"%@",str);
//将字符串str的内容存入文件
[str writeToFile:@"Users/apple/Desktop/test.json" atomically:YES encoding:NSUTF8StringEncoding error:nil];
协议:
1.申明协议
2.挂载协议
3设置代理
Button:
四种状态,两张图片
下载:
同步下载:
}
头文件的循环引用:
头文件循环引用(包含)如何解决:当两个头文件需要相互包含的时候将其中一个头文件中的类用@class引入
webview创建: