一: 本地搭建测试服务器
打开finder,快捷键shift+com+g 进入/etc/apache2目录
显示隐藏目录 defaults write com.apple.finder AppleShowAllFiles -bool true
更改apache2目录权限为 "读与写"
修改httped.conf之前先备份一份,
(1)修改 DocumentRoot "/Users/用户名/myweb" Directory "/Users/用户名/myweb" ,把已经准备好的json文件放到该目录下 ,以备测试使用
(2)添加Indexes,
Options Indexes FollowSymLinks Multiviews
MultiviewsMatch Any
(3)把前面的# 去掉
LoadModule php5_module libexec/apache2/libphp5.so
5. 启动apache
sudo apachectl -k start
二: 主要方法 (反序列化的方法)
NSJSONSerialization JSONObjectWithData
三: 核心 把JSON形式的字符串转换成OC对象
#import "ViewController.h"@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; NSURL *url = [NSURL URLWithString:@"http://127.0.0.1/demo.json"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse * _Nullable response, NSData * _Nullable data, NSError * _Nullable connectionError) { if (connectionError) { NSLog(@"连接错误 %@",connectionError); return; } // 强制转换类型 NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *)response; if (httpResponse.statusCode == 200 || httpResponse.statusCode == 304) { //解析数据 data JSON形式的字符串 //JSON序列化 把对象转换成JSON形式的字符串 //JSON的反序列化 把JSON形式的字符串转换成OC中的对象 NSError *error; //解析的JSON字符串,返回的OC对象可能是数组或字典 id json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&error]; if (error) { NSLog(@"解析JSON出错 %@",error); return; } NSLog(@"%@",json); }else{ NSLog(@"服务器内部错误"); } }]; }@end