数据解析(网络返回)-程序员宅基地

技术标签: json  

我们从服务器得到的数据有时候不可能一开始就是字典\数组数据,有时候需要我们对得到的数据进行转换

1、当服务器返回的是的data数据类型,我们可能需要转换成字典或数组才能使用,使用下方法转换:

 {
    // Data 转 字典 ,其中responseObject为返回的data数据
        NSDictionary *resultDictionary = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
        NSLog(@"resultDictionary: %@", resultDictionary);

        // Data 转 数组 ,其中responseObject为返回的data数据
        NSArray *resultArray = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableContainers error:nil];
        NSLog(@"resultArray: %@", resultArray);
}

 

2、当以上方法打印出的字典\数组值为null时(可能返回带有其他特殊字符串),说明上面的方法不可行,我们就试试

encoding:NSUTF8StringEncoding(UTF8编码)

,需要将返回的data数据转成字符串:

{
    NSString *resultString  =[[ NSString alloc] initWithData:responseObject encoding:NSUTF8StringEncoding];
}

 

当打印出来的字符串,开头不是以 (字典)或  (数组)符号开头,而是一串字符, 需要把多余的字符串删除

{
        NSString *changeStr = [StringObjects stringByReplacingOccurrencesOfString:@"renderReverse&&renderReverse(" withString:@""];
        NSString *jsonStr = [changeStr substringToIndex:tempStr.length-1];
}    

   最后把解析string转data,再把data转 字典:

{
      NSMutableDictionary *dictionary = [NSJSONSerialization JSONObjectWithData:[json:NSUTF8StringEncoding] options:0 error:nil];
}

  

 

转载于:https://www.cnblogs.com/iOSteemo/p/6410925.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/auas78149/article/details/102069239

智能推荐

大数据分层-程序员宅基地

文章浏览阅读1.8k次。离线大数据分层_大数据分层

Shared Libraries: Understanding Dynamic Loading_cannot implicitly include runtime/cgo in a shared -程序员宅基地

文章浏览阅读339次。https://amir.rachum.com/blog/2016/09/17/shared-libraries/_cannot implicitly include runtime/cgo in a shared library

rtp和rtcp_rtp rtcp-程序员宅基地

文章浏览阅读1.2k次。原文参考1链接:https://blog.csdn.net/chen495810242/article/details/39207305原文参考2链接:https://blog.csdn.net/special00/article/details/82533768原文参考2链接:https://blog.csdn.net/davidsguo008/article/details/736584221、RTP1.1、RTP 简介实时传输协议RTP(Real-time Transport P._rtp rtcp

模数非互质的同余方程组(非互质版中国剩余定理)_中国剩余定理模数不互质怎么求-程序员宅基地

文章浏览阅读2.4k次。之前介绍到的中国剩余定理只能求解模数两两互质的同余方程组。 那么,模数如果不一定两两互质的情况应该怎么求呢? 下面介绍通过合并方程的方法来解决问题(要用到扩展欧几里德算法)。 顾名思义,合并方程就是把所有的同余方程组合并成一个。 举个例子,合并同余方程组 x%A=a ① x%B=b ② _中国剩余定理模数不互质怎么求

【程序猿历程,一键搞定Netty难关,看到NIO再也不犯糊涂了-程序员宅基地

文章浏览阅读72次。最后无论是哪家公司,都很重视基础,大厂更加重视技术的深度和广度,面试是一个双向选择的过程,不要抱着畏惧的心态去面试,不利于自己的发挥。同时看中的应该不止薪资,还要看你是不是真的喜欢这家公司,是不是能真的得到锻炼。针对以上面试技术点,我在这里也做一些资料分享,希望能更好的帮助到大家。戳这里免费领取以下资料[外链图片转存中…(img-d7lelHu1-1628391980159)][外链图片转存中…(img-aALH1rya-1628391980160)]...

pwn 学习笔记 格式化串计算偏移量_pwn偏移量的计算-程序员宅基地

文章浏览阅读4.7k次,点赞4次,收藏8次。学习参照:https://ctf-wiki.github.io/ctf-wiki/pwn/fmtstr/fmtstr_exploit/利用%s泄露libc函数的got表内容addr%k$s可以用来泄露指定地址的内容,但要先确定k的值,可控制的格式化字符串参数是函数第几个参数(k+1),减一就是格式化字符串的第几个参数(k)。利用 [tag]%p%p%p%p%p%p%p%p%p%p来确..._pwn偏移量的计算

随便推点

ArcGIS二次开发课程总结(附上代码)vs2010(C#)+AE-程序员宅基地

文章浏览阅读2.3k次,点赞5次,收藏54次。很久没有写了,原因很简单没有想起来,够简单粗暴吧,好吧承认都是借口—————————————————我是分界线哦———————————————————————— 昨天GIS程序与开发课结束了它的完整生命周期,老师让我们每个人做个总结。学号最后一个,便最后一个总结。课程上完,最大感受,嗯,我又学会了怎么拼代码!老师给我说了我的优缺点,可能当时没反应过来,今天早上才反应过来,所以..._arcgis10.2 源码c# vs2010 学习参考实例

ICCV2021目标检测方向论文_2021iccv[6]-程序员宅基地

文章浏览阅读3.4k次,点赞2次,收藏35次。研究一下ICCV2021目标检测方向的论文。[1]GraphFPN: Graph Feature Pyramid Network for Object Detectionpaper:https://arxiv.org/abs/2108.00580code: TBD[2]SimROD: A Simple Adaptation Method for Robust Object Detectionpaper:https://arxiv.org/abs/2107.13389code:..._2021iccv[6]

node.js 版本升级_node.js 如何升级版本-程序员宅基地

文章浏览阅读4.8k次。一个超级简单的升级node.js的方法node有一个模块叫n,专门用来管理node.js的版本,我们通过这个模块来升级node.js.首先安装n模块:npm install -g n然后升级node.js的最新稳定版:// 如果遇到权限问题,可以使用 sudo n stablen stablen后面也可以跟随版本号:n v7.0.0npm的常用命令:npm -v_node.js 如何升级版本

ARM DS-5入门之 概述-程序员宅基地

文章浏览阅读586次。关于 DS-5 DS- 5是基于Linux系统和裸机嵌入式系统,涵盖了从启动代码和内核移植,应用程序和裸机调试的各个阶段,专业的软件开发解决方案。它还包括性能分析。DS-5 包括: l DS-5 Debugger. l DS-5 Eclipse是一种集成开发环境 (IDE),将编译和调试工具结合在一起。l Real-Time System Models。l ARM Stre..._arm ds 定义变量 汇编

FamaMacBeth1973两步法详解-xtfmb-asreg_stata fama macbeth-程序员宅基地

文章浏览阅读4.3k次,点赞3次,收藏44次。全文阅读:https://www.lianxh.cn/news/08553a2f40e3d.html目录1. 方法概述 1.1 第一阶段:时序回归 1.2 第二阶段:截面回归 1.3 两阶段过程总结 2. 模型设定 3. Stata 命令简介 3.1 asreg:两阶段回归 3.2 xtfmb:第二阶段回归 4. Stata 实现 4.1 第一阶段:时序回归 4.2 第二阶段:截面回归 6. 参考文献 7. 相关推文全文阅读:https:/_stata fama macbeth

windows10下部署环境并运行Siammask中的demo全过程记录_siammask在window下运行-程序员宅基地

文章浏览阅读3.9k次,点赞6次,收藏42次。本文记录了笔者在win下跑siammask的全过程,仅用于参考,若有问题还请指教windows环境下运行Siammask前言注意事项提前的环境部署Git安装Anaconda3安装CUDA9.2安装cuDNN安装正式开始部署SiamMask下载SiamMask部署环境(如果可以直接安装torch)部署环境(如果不能直接安装torch)下载SiamMask模型跑Demo合理的创建标题,有助于目录的生成..._siammask在window下运行