如何在自己工程项目中使用TouchJSON框架
前提:配置到某具体的工程项目中
复制TouchJSON框架源代码到自己的工程项目中,即将TouchJSON/Source目录及文件拷贝到项目中,在添加到工程项目中时确认选中“Copy items into destination groups folder(if needed)”项。
转换JSON数据到对象——即解析,反序列化操作
首先引入文件:#import "CJSONDeserializer.h"到项目具体源文件中。
然后就可以将一个含有JSON数据的NSData对象进行转换成一个对象。
NSData *theJSONData = /* 这里是一些JSON数据 */
NSError *theError = nil;
id theObject = [ [ CJSONDeserializer deserializer] deserializeAsDictionary : jsonData error:&error];
返回结果的对象的类(id theObject)取决于这个JSON数据的类型。如果这个对象是NULL则解析失败,你需要检查参数错误。
以下是解析过程的示例代码:
NSString *jsonStringSrc = @"从文件读取或者从网络获得的JSON字符串";NSData *jsonData = [jsonStringSrc dataUsingEncoding : NSUTF8StringEncoding];NSError *error = nil ;NSDictionary *dictionary = [ [ CJSONDeserializer deserializer ] deserializeAsDictionary : jsonData error : &error ];
上述代码是将一个含有JSON数据字典的字符串转换为一个NSDictionary对象。如果上例中JSON根对象不是个字典则反序列化操作失败。
转换某对象到JSON数据——即生成,序列化操作
首先引入文件:#import "CJSONDataserializer.h"到项目具体源文件中。
然后就可以将一个具体对象序列化为一个JSON数据。
NSDictionary *dictionary = [NSDictionary dictionaryWithObject:@"b" forkey:@"a"];
NSError *error = NULL;
NSData *jsonData = [[CJSONSerializer serializer] serializeObject:dictionary error:&error];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"%@",jsonString);
如何在自己工程项目中使用TouchJSON框架相关推荐
- 预告:大牛现身说法 TensorFlow在工程项目中的应用 | AI 研习社
玩深度学习,首先要做的是掌握工具. 理论知识不足,可以慢慢补.模型和算法的实现,则必须要靠工具一步步摸索. 在所有深度学习工具中,TensorFlow 的社群基数无疑最庞大,因而常被作为入门首选.对于 ...
- java 中的 viewUtils框架
IoC的概念介绍 控制反转(IOC)模式(又称DI:Dependency Injection)就是Inversion of Control,控制反转.在Java开发中,IoC意 味着将你设计好的类交给 ...
- 在Spring Boot项目中使用Spock框架
转载:https://www.jianshu.com/p/f1e354d382cd Spock框架是基于Groovy语言的测试框架,Groovy与Java具备良好的互操作性,因此可以在Spring B ...
- 3 weekend110的hadoop中的RPC框架实现机制 + hadoop中的RPC应用实例demo
hadoop中的RPC框架实现机制 RPC是Remotr Process Call, 进程间的远程过程调用,不是在一个jvm里. 即,Controller拿不到Service的实例对象. hadoop ...
- 使用外部同步的 Boost.Test 调用在 MT 环境中测试单元测试框架的可用性
使用外部同步的 Boost.Test 调用在 MT 环境中测试单元测试框架的可用性 实现功能 C++实现代码 实现功能 使用外部同步的 Boost.Test 调用在 MT 环境中测试单元测试框架的可用 ...
- Spring全家桶中的日志框架
Spring全家桶中的日志框架 spring-jcl spring-jcl是spring的日志框架,spring-jcl底层使用的日志框架是有优先级的优先级为:LOG4J2 级是最高的,其次是SLF4 ...
- 【转载】我心目中最好的框架组合是
我心目中最好的框架组合是: 表示层:spring mvc 3.1 + annotation 控制层:spring 3.1 持久层:hibernate 3.6 +jdbcTemplate ...
- IOS中的AFNetworking框架的GET参数的使用
IOS中的AFNetworking框架的GET参数的使用 加入ATS在info.plist 中加入ATS代码 <key>NSAppTransportSecurity</key> ...
- Android 进阶 教你打造 Android 中的 IOC 框架 【ViewInject】 (下)
上一篇博客我们已经带大家简单的吹了一下IoC,实现了Activity中View的布局以及控件的注入,如果你不了解,请参考:Android 进阶 教你打造 Android 中的 IOC 框架 [View ...
最新文章
- 【学习笔记】拉格朗日插值
- python3中的推导式、生成器、迭代器
- Python基本语法_集合set/frozenset_内建方法详解
- SpringBoot高级-任务-邮件任务
- Windows 10 Creators Update [ISO官方镜像][15063][1703][x64][x86][创意者更新正式版]
- 使用docker部署vue_如何使用Vue,Docker和Azure进行持续交付
- 80-30-010-原理-React模式-简介
- 朴素版的Dijkstra算法
- KeyMob--最智能的移动广告聚合平台
- 地址后面的sessionid怎么消除_大朗饭店消除蟑螂帮您识别隐蔽鼠迹
- SSIM(结构相似性)-数学公式及python实现
- protues 51单片机仿真电路图及代码
- 地理信息系统概论 - 地理信息系统(1)
- 不会吧,你还以为微信分账能解决“二清”?
- 黑科技解密!实现socket进程间迁移!
- 当彗星划过天空,那好像梦幻一般的景色,真是无与伦比,美到极致,只能让人一味眺望着那无法言喻的美。
- Android项目实战--手机卫士
- 2020.07 学习日记
- mysql的check约束怎么设置_MySQL怎么使用check约束
- 甲方安全开源项目收集
热门文章
- mysql两列查询结果列拼接一个表输出_sql select语句,查询出两列结果拼接在一起...
- java微积分计算步骤_一次刨根问底的收获——从一道微积分题说开去
- Java项目构建打包规范,jenkins2.121.1构建java项目环境,一键打包发布
- VS2019遇到的坑——C4716
- java map随机取值_HashMap随机取值和迭代器取值的对比
- Eureka集群搭建,unavailable-replicas服务节点不可用解決方案
- 阿里P8连肝一周整理出这份python自动化测试实战PDF
- phpstorm xdebug本地调试断点不生效_phpstudy+phpstrom实现断点
- verdi显示状态机名字_如何写好状态机(三)
- python输入文字如何定义文字_python如何实现手动输入文字