文档章节

JSON的两种常见解析方式

iOS赵师顺
 iOS赵师顺
发布于 2016/06/27 20:52
字数 363
阅读 25
收藏 0
点赞 0
评论 0

#import "ViewController.h"

#import "JSONKit.h"

 

@interface ViewController ()

 

@end

 

@implementation ViewController

 

- (void)viewDidLoad {

    [super viewDidLoad];

    

    NSString *baseString = @"http://ipad-bjwb.bjd.com.cn/DigitalPublication/publish/Handler/APINewsList.ashx";

    NSURL *baseUrl = [NSURL URLWithString:baseString];

    //创建可变的requst对象 设置可变的 要是设置参数;

    NSMutableURLRequest *requst = [NSMutableURLRequest requestWithURL:baseUrl];

//    设置Post请求 格式

    [requst setHTTPMethod:@"POST"];

//    设置boby参数

    NSString *babyString = @"date=20131129&startRecord=1&len=5&udid=1234567890&terminalType=Iphone&cid=213";

    NSData *babyData= [babyString dataUsingEncoding:NSUTF8StringEncoding];

    [requst setHTTPBody:babyData];

    

    NSURLSession *session = [NSURLSession sharedSession];

    NSURLSessionTask *task = [session dataTaskWithRequest:requst completionHandler:^(NSData * _Nullable data, NSURLResponse * _Nullable response, NSError * _Nullable error) {

//        系统自带的解析类

        [self JSONSystem:data];

//        JSON第三方解析

        [self JSONThireWay:data];

        

    }];

//    开始网络请求

    [task resume];

}

 

#pragma mark - JSON系统自带的解析类

 

- (void)JSONSystem:(NSData *)data{

    //        获取JOSN数据

    NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

    NSLog(@"系统自带解析类获得数据:%@",dict);

}

#pragma mark - JSON第三方JSONKit解析

// 导入#import "JSONKit.h"后会报错,是因为不支持arc 需要在Build Phases->CompileSorces ->双击JSONKit.m,添加-fno-objc-arc

- (void)JSONThireWay:(NSData *)data{

    NSDictionary *dict = [data objectFromJSONData];

    NSLog(@"第三方解析获得数据:%@",dict);

}

© 著作权归作者所有

共有 人打赏支持
iOS赵师顺
粉丝 3
博文 73
码字总数 35628
作品 0
昌平
程序员
深入了解Struts2返回JSON数据的原理及具体应用范例

JSON建构于两种结构: “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表 ...

goover1001 ⋅ 2014/03/12 ⋅ 0

Express 提交数据的几种方式

我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP协议之上的应用层规范。该规范把 HTTP 请求分为三个部分:状态行、请求头、消息主体。类似于下面这样: 协议规定 POST 提交的数据必须放...

tcfellow ⋅ 2017/11/28 ⋅ 0

四种常见的 POST 提交数据方式

HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。 我们...

极客教程 ⋅ 2017/11/17 ⋅ 0

api接口中ajax数据请求与数据返回的小坑

AJAX 可以使网页实现异步更新,XMLHttpRequest 是 AJAX 的基础,大部分浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject),XMLHttpRequest对象基于HTTP协议用于在后台与服务...

wx599c47c7bdcad ⋅ 06/08 ⋅ 0

api接口中ajax数据请求与数据返回的小坑

AJAX 可以使网页实现异步更新,XMLHttpRequest 是 AJAX 的基础,大部分浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject),XMLHttpRequest对象基于HTTP协议用于在后台与服务...

wx599c47c7bdcad ⋅ 06/08 ⋅ 0

此JSON-P非彼jsonp

自从道格拉斯鼓捣出json出来后,这玩意从一开始的数据交换格式界的网红慢慢跻身为大牌明星了,相当一部分xml的粉丝都转向了json。 关于json这里就不做更多介绍了,这里想说的是jsonp。 本文标...

喂码呢 ⋅ 2016/09/15 ⋅ 0

json 和xml 数据解析

使用NSURLConnection来请求数据 JSON数据的请求 现在大多情况下都使用三方框架来完成的 l在iOS中,JSON的常见解析方案有4种 p第三方框架:JSONKit、SBJson、TouchJSON(性能从左到右,越差)...

codeShuai ⋅ 2016/04/19 ⋅ 0

C语言网络框架库--acl

acl 框架库是一个 C 库,主要包含:服务器开发框架、同步/异步网络通讯、常用数据结构、进程池/线程池、流式 xml/json 解析器、http/ping 应用协议等内容; acl 包括以下丰富的常用函数库: ...

郑树新 ⋅ 2012/06/03 ⋅ 3

Json那点事儿

1.JSON介绍 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON以key-value的形式提供了很好的读写,在web开发中之前用过xml来进行数据的交互和传输, 但xml的数据结构比较复...

陈小扁 ⋅ 2016/04/10 ⋅ 1

iOS JSON 数据解析

JSON 是比较常用的数据格式,相比 XML 层次更清晰,这里介绍两种解析 JSON 的方式:NSJSONSerialization 和 JSONKit NSJSONSerialization 是 iOS 5 以后推出的,比较好用的 JSON 解析包. JSON 数...

别情花如依丶 ⋅ 2016/04/20 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

JavaScript零基础入门——(八)JavaScript的数组

JavaScript零基础入门——(八)JavaScript的数组 欢迎大家回到我们的JavaScript零基础入门,上一节课我们讲了有关JavaScript正则表达式的相关知识点,便于大家更好的对字符串进行处理。这一...

JandenMa ⋅ 今天 ⋅ 0

sbt网络问题解决方案

转自:http://dblab.xmu.edu.cn/blog/maven-network-problem/ cd ~/.sbt/launchers/0.13.9unzip -q ./sbt-launch.jar 修改 vi sbt/sbt.boot.properties 增加一个oschina库地址: [reposit......

狐狸老侠 ⋅ 今天 ⋅ 0

大数据,必须掌握的10项顶级安全技术

我们看到越来越多的数据泄漏事故、勒索软件和其他类型的网络攻击,这使得安全成为一个热门话题。 去年,企业IT面临的威胁仍然处于非常高的水平,每天都会看到媒体报道大量数据泄漏事故和攻击...

p柯西 ⋅ 今天 ⋅ 0

Linux下安装配置Hadoop2.7.6

前提 安装jdk 下载 wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.6/hadoop-2.7.6.tar.gz 解压 配置 vim /etc/profile # 配置java环境变量 export JAVA_HOME=/opt/jdk1......

晨猫 ⋅ 今天 ⋅ 0

crontab工具介绍

crontab crontab 是一个用于设置周期性被执行的任务工具。 周期性执行的任务列表称为Cron Table crontab(选项)(参数) -e:编辑该用户的计时器设置; -l:列出该用户的计时器设置; -r:删除该...

Linux学习笔记 ⋅ 今天 ⋅ 0

深入Java多线程——Java内存模型深入(2)

5. final域的内存语义 5.1 final域的重排序规则 1.对于final域,编译器和处理器要遵守两个重排序规则: (1)在构造函数内对一个final域的写入,与随后把这个被构造对象的引用赋值给一个引用...

江左煤郎 ⋅ 今天 ⋅ 0

面试-正向代理和反向代理

面试-正向代理和反向代理 Nginx 是一个高性能的反向代理服务器,但同时也支持正向代理方式的配置。

秋日芒草 ⋅ 今天 ⋅ 0

Spring 依赖注入(DI)

1、Setter方法注入: 通过设置方法注入依赖。这种方法既简单又常用。 类中定义set()方法: public class HelloWorldOutput{ HelloWorld helloWorld; public void setHelloWorld...

霍淇滨 ⋅ 昨天 ⋅ 0

马氏距离与欧氏距离

马氏距离 马氏距离也可以定义为两个服从同一分布并且其协方差矩阵为Σ的随机变量之间的差异程度。 如果协方差矩阵为单位矩阵,那么马氏距离就简化为欧氏距离,如果协方差矩阵为对角阵,则其也...

漫步当下 ⋅ 昨天 ⋅ 0

聊聊spring cloud的RequestRateLimiterGatewayFilter

序 本文主要研究一下spring cloud的RequestRateLimiterGatewayFilter GatewayAutoConfiguration @Configuration@ConditionalOnProperty(name = "spring.cloud.gateway.enabled", matchIfMi......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部