博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS解析Server端返回JSON数据
阅读量:6975 次
发布时间:2019-06-27

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

在做quhao APP架构时,后台Server端使用了Java,提供WebService,而iOS和Android作为移动客户端。在做数据交互时,Server端返回JSON格式数据。由于iOS SDK中提供的JSON数据解析实在太过麻烦,这里讲下iOS下如何使用SBJson库来解析JSON格式数据。

首先我发起了一个HTTP请求,得到一个response字符串,此字符串是JSON格式:

NSURL *url = [NSURL URLWithString:@"http://192.168.1.2:9081/allCategories"];    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];    [request startSynchronous];    NSError *httpError = [request error];    NSString *response = @"";    if (!httpError) {        response = [request responseString];//        NSLog(@"%@", response);    }

返回的数据格式如下:

 

 

[{"count":1000,"cateType":"benbangcai"},{"count":478,"cateType":"hanguoliaoli"},{"count":999,"cateType":"huoguo"},{"count":1000,"cateType":"mianbaodangao"},{"count":998,"cateType":"ribenliaoli"},{"count":1000,"cateType":"tianpinyinpin"},{"count":584,"cateType":"xiangcai"},{"count":999,"cateType":"chuancai"},{"count":260,"cateType":"dongnanyacai"},{"count":311,"cateType":"haixian"},{"count":1000,"cateType":"shaokao"},{"count":984,"cateType":"xiaochikuaican"},{"count":999,"cateType":"xican"},{"count":210,"cateType":"xinjiangqingzhen"},{"count":771,"cateType":"yuecaiguan"},{"count":1000,"cateType":"zhongcancaixi"},{"count":316,"cateType":"zizhucan"}]

我们可以看到JSON数据格式是非常整齐的,下面我们就使用SBJson来解析每一个数据块的2个值:count和cateType。

 

 

// 解析Server端返回的JSON数据    SBJsonParser *jsonParser = [[SBJsonParser alloc] init]; //初始化SBJsonParser    NSError *error = nil;    NSArray *jsonObjects = [jsonParser objectWithString:response error:&error];    [jsonParser release], jsonParser = nil;    for (NSDictionary *dict in jsonObjects) {        NSString *value1 = [dict objectForKey:@"cateType"];        NSString *value2 = [dict objectForKey:@"count"];        NSLog(@" value1 is : %@", value1);        NSLog(@" value2 is : %@", value2);    }

 

运行后打印结果:

 

2013-07-23 21:16:28.962 quhaoIOS[832:c07]  value1 is : benbangcai2013-07-23 21:16:28.962 quhaoIOS[832:c07]  value2 is : 10002013-07-23 21:16:28.963 quhaoIOS[832:c07]  value1 is : hanguoliaoli2013-07-23 21:16:28.963 quhaoIOS[832:c07]  value2 is : 4782013-07-23 21:16:28.963 quhaoIOS[832:c07]  value1 is : huoguo2013-07-23 21:16:28.963 quhaoIOS[832:c07]  value2 is : 9992013-07-23 21:16:28.964 quhaoIOS[832:c07]  value1 is : mianbaodangao2013-07-23 21:16:28.964 quhaoIOS[832:c07]  value2 is : 10002013-07-23 21:16:28.964 quhaoIOS[832:c07]  value1 is : ribenliaoli2013-07-23 21:16:28.964 quhaoIOS[832:c07]  value2 is : 9982013-07-23 21:16:28.965 quhaoIOS[832:c07]  value1 is : tianpinyinpin2013-07-23 21:16:28.965 quhaoIOS[832:c07]  value2 is : 10002013-07-23 21:16:28.965 quhaoIOS[832:c07]  value1 is : xiangcai2013-07-23 21:16:28.966 quhaoIOS[832:c07]  value2 is : 5842013-07-23 21:16:28.966 quhaoIOS[832:c07]  value1 is : chuancai2013-07-23 21:16:28.966 quhaoIOS[832:c07]  value2 is : 9992013-07-23 21:16:28.966 quhaoIOS[832:c07]  value1 is : dongnanyacai2013-07-23 21:16:28.967 quhaoIOS[832:c07]  value2 is : 2602013-07-23 21:16:28.967 quhaoIOS[832:c07]  value1 is : haixian2013-07-23 21:16:28.967 quhaoIOS[832:c07]  value2 is : 3112013-07-23 21:16:28.967 quhaoIOS[832:c07]  value1 is : shaokao2013-07-23 21:16:28.968 quhaoIOS[832:c07]  value2 is : 10002013-07-23 21:16:28.968 quhaoIOS[832:c07]  value1 is : xiaochikuaican2013-07-23 21:16:28.968 quhaoIOS[832:c07]  value2 is : 9842013-07-23 21:16:28.969 quhaoIOS[832:c07]  value1 is : xican2013-07-23 21:16:28.969 quhaoIOS[832:c07]  value2 is : 9992013-07-23 21:16:28.969 quhaoIOS[832:c07]  value1 is : xinjiangqingzhen2013-07-23 21:16:28.969 quhaoIOS[832:c07]  value2 is : 2102013-07-23 21:16:28.970 quhaoIOS[832:c07]  value1 is : yuecaiguan2013-07-23 21:16:28.970 quhaoIOS[832:c07]  value2 is : 7712013-07-23 21:16:28.970 quhaoIOS[832:c07]  value1 is : zhongcancaixi2013-07-23 21:16:28.970 quhaoIOS[832:c07]  value2 is : 10002013-07-23 21:16:28.971 quhaoIOS[832:c07]  value1 is : zizhucan2013-07-23 21:16:28.971 quhaoIOS[832:c07]  value2 is : 316

 

 

 
 

 

转载地址:http://gqesl.baihongyu.com/

你可能感兴趣的文章
网络协议之socks---子网和公网的穿透
查看>>
Java控制语句——if语句
查看>>
BadUSB的防范研究
查看>>
struts2中从数据库中读取数据,并在JSP页面中遍历保存有JavaBean对象的List对象
查看>>
网站flash黑屏问题
查看>>
JAVA TIMER定时器
查看>>
GitHub 实现多人协同提交代码并且权限分组管理
查看>>
解决vsftpd乱码
查看>>
CCF-201512-3 绘图
查看>>
Delphi Setlength 内存释放总结
查看>>
测试了一下LINQ写的Quick Sort性能
查看>>
解决Win7下安装VS2010不显示序列号框的两种方法
查看>>
Avizo - 高级三维可视化及分析软件
查看>>
黄聪:走进wordpress 详细说说template-loader.php
查看>>
30个免费下载高质量精美照片素材的网站
查看>>
sdmax 树 风的效果
查看>>
DOM的四个基本接口
查看>>
输出类的所有属性值的toString方法
查看>>
悬挂运动控制系统 源代码 (05年电赛)
查看>>
POJ3087:Shuffle'm Up(模拟)
查看>>