关于json文本数据的一些使用方法
1.对象的存取
如果是对象的存取,可能需要序列化和反序列化对象的属性。
NSDictionary params = @{@"hello":@"world"};
NSArray arr = @[@"",@"",@""];
[arr addObject:params];
NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arr];
NSArray *arr2 = [NSKeyedUnarchiver unarchiveObjectWithData:data];
NSLog(@"arr2: %@", arr2);
2.解析JSON
// 加载一个本地的JSON文件路径,放到NSData对象中去
NSData *jsonData2 = [NSData dataWithContentsOfFile:[CachesManager getCheckInstallInfoPath]];
// 把一个json格式的data,解析为OC中的数据对象(一般为数组或字典)
id obj = [NSJSONSerialization JSONObjectWithData:jsonData2
options:NSJSONReadingMutableContainers
error:nil];
// 判断一下,id是NSMutableArray类型还是NSMutableDictionary
if ([obj isKindOfClass:[NSArray class]]) {
NSMuttableArray *array = obj;
NSLog(@"arr: %@", array);
} else {
NSMutableDictionary *dic = obj;
NSLog(@"dic: %@", dic);
}
3.数据转化成JSON格式的数据
// 把一个OC中的数据对象(数组或对象--在OC中类似字典)转换成JSON格式的数据
NSDictionary * dic = @{@"name": @"Tom",@"where":@"beijing",@"how": @"by air",@"data": @"2016.04.18"};
NSLog(@"DIC = %@",dic);
NSData * data = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&error]; // 把一个json格式的data,解析为OC中的NSString类型对象
// 无特殊意义,一般用来查看JSON文本封装成 数组 还是 对象(OC中为字典)
NSString * jsonString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"-----------------------------%@",jsonString);
关于json文本数据的一些使用方法的更多相关文章
- json文本数据
本文主要针对三个问题:json格式数据,text数据与json数据之间的关系,json和python字典的区别 1.什么是json数据? json是文本数据,可以在网络中传输的通用数据,它是具有特定格 ...
- get请求传递json格式数据的两种方法
get请求参数为json格式数据,使用pyhton+request的两种实现方式如下: 方法一:使用requests.request() 示例代码如下: 1.导入requests和json impor ...
- Java 使用流读文本数据时乱码 解决方法
一.问题描述 当我使用FileReader读取文本文件里的汉字时,读出来的是乱码.但为什么字符是正常的呢??? 二.原因探究 其根本原因在于编码标准不同.汉字采用gbk,而idea使用UTF-8.gb ...
- SpringMVC中使用Json传数据
在web项目中使用Json进行数据的传输是非常常见且有用的,在这里介绍下在SpringMVC中使用Json传数据的一种方法,在我的使用中,主要包括下面四个部分(我个人喜好使用maven这类型工具进行项 ...
- Unity 用C#脚本读取JSON文件数据
读取JSON文件数据网上有很多方法吗,这里采用SimpleJSON,关于SimpleJSON的介绍参考以下链接:http://wiki.unity3d.com/index.php/SimpleJSON ...
- 高性能JSON工具-FastJson处理超大JSON文本
使用阿里开源类库FastJson,当需要处理超大JSON文本时,需要Stream API,在fastjson-1.1.32版本中开始提供Stream API.文档参考GitHub:https://gi ...
- SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法
create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...
- 21SpringMvc_异步发送表单数据到Bean,并响应JSON文本返回(这篇可能是最重要的一篇了)
这篇文章实现三个功能:1.在jsp页面点击一个按钮,然后跳转到Action,在Action中把Emp(int id ,String salary,Data data)这个实体变成JSON格式返回到页面 ...
- Java构造和解析Json数据的两种方法详解二
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...
随机推荐
- (极简)linux安装QT4.7.3
1.下载QT http://download.qt.io/ 我用的:qt-everywhere-opensource-src-4.7.3.tar.gz 2.解压安装QT 建议解压到/use/local ...
- 学习笔记-menusript控件中条目权限设置使用
在做一个小程序的时候,偶然发现了使用menusript控件做权限设置的方法,仅此标记,以供参考. 首先创建一个实例:testuseright.sln, 在项目文件里创建两个窗体:Form1.cs和us ...
- MySQL----数据的显示位宽
问题:在MySQL表中的列可以定义它显示的位宽.那么定义了位宽会不会影响数据的取值范围呢? 测试: 1.定义一个用于测试的表 create table t(x int,y int(2),z int(2 ...
- eclipse 改包名
转载自: http://www.2cto.com/kf/201304/206747.html 1.在项目上右键,选择android tools->rename application packa ...
- Oracle 导出HTML
http://www.linuxidc.com/Linux/2010-10/29133.htm Oracle 执行计划: http://czmmiao.iteye.com/blog/1471756 h ...
- 论山寨手机与Android联姻 【7】 MTK手机软件系统
MTK feature phone的基本功能是通话和短信,要了解MTK手机软件系统,首先需要简要回顾几个移动网络通讯的基本概念. Figure 38. GSM-GPRS Architecture Co ...
- Unity3d GUI弹窗
ArrayList w_position = new ArrayList(); void OnGUI() { if (GUILayout.Button("Open")) { if ...
- Trafic control 大框图(HTB )
10.1. General diagram Below is a general diagram of the relationships of the components of a classfu ...
- node配置运行环境变量;
node express 在开发环境和生产环境运行的代码是不一样的, 通常是先配置好的,在开发环境运行一套代码,在生产环境运行另一套代码, 开发环境 development, 生产环境producti ...
- IEnumerable和IEnumerator 详解 【转】
初学C#的时候,老是被IEnumerable.IEnumerator.ICollection等这样的接口弄的糊里糊涂,我觉得有必要切底的弄清楚IEnumerable和IEnumerator的本质. 下 ...