博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS之路15-JSON解析
阅读量:5896 次
发布时间:2019-06-19

本文共 1981 字,大约阅读时间需要 6 分钟。

hot3.png

一: 本地搭建测试服务器

  1. 打开finder,快捷键shift+com+g 进入/etc/apache2目录

  2. 显示隐藏目录  defaults write com.apple.finder AppleShowAllFiles -bool true

  3. 更改apache2目录权限为 "读与写"

  4. 修改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

转载于:https://my.oschina.net/u/2617794/blog/614252

你可能感兴趣的文章
angularjs-paste-upload
查看>>
hadoop学习笔记
查看>>
解除 Linux 系统的最大进程数和最大文件打开数限制
查看>>
在 Linux 中删除超大文件的技巧
查看>>
md转pdf
查看>>
php中使用file_put_contents()函数写入文本
查看>>
webpy学习笔记
查看>>
认识javascript引擎
查看>>
Solaris 安装 curl
查看>>
Python装饰器实例(1):参数合法性验证
查看>>
Sublime Text 3 自带的格式化代码功能(reindent)
查看>>
Ant是什么?
查看>>
用ASDF来组织Lisp程序编译和加载
查看>>
数据库设计原则
查看>>
程序猿学生时代的生活
查看>>
Java类的修饰符判断:java.lang.reflect.Modifier
查看>>
使用优盘或者移动硬盘安装Ubuntu
查看>>
electron-创建一个hello world应用
查看>>
RXjs相关
查看>>
ElasticSearch 安装
查看>>