1.对象的存取

如果是对象的存取,可能需要序列化和反序列化对象的属性。

  1. NSDictionary params = @{@"hello":@"world"};
  2. NSArray arr = @[@"",@"",@""];
  3. [arr addObject:params];
  4. NSData *data = [NSKeyedArchiver archivedDataWithRootObject:arr];
  5. NSArray *arr2 = [NSKeyedUnarchiver unarchiveObjectWithData:data];
  6. NSLog(@"arr2: %@", arr2);

2.解析JSON

  1. // 加载一个本地的JSON文件路径,放到NSData对象中去
  2. NSData *jsonData2 = [NSData dataWithContentsOfFile:[CachesManager getCheckInstallInfoPath]];
  3. // 把一个json格式的data,解析为OC中的数据对象(一般为数组或字典)
  4. id obj = [NSJSONSerialization JSONObjectWithData:jsonData2
  5. options:NSJSONReadingMutableContainers
  6. error:nil];
  7. // 判断一下,id是NSMutableArray类型还是NSMutableDictionary
  8. if ([obj isKindOfClass:[NSArray class]]) {
  9. NSMuttableArray *array = obj;
  10. NSLog(@"arr: %@", array);
  11. } else {
  12. NSMutableDictionary *dic = obj;
  13. NSLog(@"dic: %@", dic);
  14. }

3.数据转化成JSON格式的数据

  1. // 把一个OC中的数据对象(数组或对象--在OC中类似字典)转换成JSON格式的数据
  2. NSDictionary * dic = @{@"name": @"Tom",@"where":@"beijing",@"how": @"by air",@"data": @"2016.04.18"};
  3. NSLog(@"DIC = %@",dic);
  4. NSData * data = [NSJSONSerialization dataWithJSONObject:dic options:NSJSONWritingPrettyPrinted error:&error];
  5.  
  6. // 把一个json格式的data,解析为OC中的NSString类型对象
  7. // 无特殊意义,一般用来查看JSON文本封装成 数组 还是 对象(OC中为字典)
  8. NSString * jsonString = [[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];
  9. NSLog(@"-----------------------------%@",jsonString);

关于json文本数据的一些使用方法的更多相关文章

  1. json文本数据

    本文主要针对三个问题:json格式数据,text数据与json数据之间的关系,json和python字典的区别 1.什么是json数据? json是文本数据,可以在网络中传输的通用数据,它是具有特定格 ...

  2. get请求传递json格式数据的两种方法

    get请求参数为json格式数据,使用pyhton+request的两种实现方式如下: 方法一:使用requests.request() 示例代码如下: 1.导入requests和json impor ...

  3. Java 使用流读文本数据时乱码 解决方法

    一.问题描述 当我使用FileReader读取文本文件里的汉字时,读出来的是乱码.但为什么字符是正常的呢??? 二.原因探究 其根本原因在于编码标准不同.汉字采用gbk,而idea使用UTF-8.gb ...

  4. SpringMVC中使用Json传数据

    在web项目中使用Json进行数据的传输是非常常见且有用的,在这里介绍下在SpringMVC中使用Json传数据的一种方法,在我的使用中,主要包括下面四个部分(我个人喜好使用maven这类型工具进行项 ...

  5. Unity 用C#脚本读取JSON文件数据

    读取JSON文件数据网上有很多方法吗,这里采用SimpleJSON,关于SimpleJSON的介绍参考以下链接:http://wiki.unity3d.com/index.php/SimpleJSON ...

  6. 高性能JSON工具-FastJson处理超大JSON文本

    使用阿里开源类库FastJson,当需要处理超大JSON文本时,需要Stream API,在fastjson-1.1.32版本中开始提供Stream API.文档参考GitHub:https://gi ...

  7. SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法

    create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...

  8. 21SpringMvc_异步发送表单数据到Bean,并响应JSON文本返回(这篇可能是最重要的一篇了)

    这篇文章实现三个功能:1.在jsp页面点击一个按钮,然后跳转到Action,在Action中把Emp(int id ,String salary,Data data)这个实体变成JSON格式返回到页面 ...

  9. Java构造和解析Json数据的两种方法详解二

    在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面接着介绍用org.json构造和解析Jso ...

随机推荐

  1. 算法分析-leedcode正则题目

    Implement regular expression matching with support for '.' and '*'. 首先这里有个可能大家不知道的地方: if p[0] = '*', ...

  2. MacBook USB Type-C接口很美?其实是缩水的!

    苹果终于推出了12寸的全新MacBook,拥有2304×1440的高分辨率.蝶式结构全尺寸键盘.新的触摸板.14nm Core M处理器和无风扇设计,以及新的USB 3.1 Type-C接口.可以预料 ...

  3. Annotation 与 HttpClient(5)--Annotation HttpClient

    Annotation HttpClient 本内容不保证正确性,如有问题请及时提出 经过前面四篇博客的铺垫,现在给出带有标记的HttpClient的实现. 1.     带标记的HttpClient的 ...

  4. web本地存储-WebSQL

    Web SQL数据库API实际上未包含在HTML 5规范之中,它是一个独立的规范,它引入了一套使用SQL操作客户端数据库的API.W3C 官方在 2011 年 11 月声明已经不再维护 Web SQL ...

  5. 利用boost做string到wstring转换,以及字符集转换 - Error - C++博客

    利用boost做string到wstring转换,以及字符集转换 - Error - C++博客 利用boost做string到wstring转换,以及字符集转换 #include <boost ...

  6. LDT自己定义启动模拟器

    近期使用LUA开发手游,团队里大神自研了个框架,底层C++渲染,上层LUA处理逻辑. LUA的IDE选择LDT,不爽的是它不能自己主动启动模拟器,看过COCOSIDE能自启动,于是我想改造下LDT让它 ...

  7. Web前端性能优化——高频触发事件的防抖

    JS 提供了行为层的支持,为用户提供了交互的操作性. 然而,部分事件却常常有意无意的被频繁触发.比方浏览器窗体的 resize 事件.某个元素的 mouseover 事件,假设处理触发事件的回调函数过 ...

  8. BZOJ 2186 SDOI2008 沙拉公主的困惑 数论

    题目大意:给定询问组数T和取模数P,每次询问给定两个整数n和m,求1~(n!)的数中与m!互质的数个个数模P (m<=n) 首先T<=1W,暴力肯定过不去,我们须要预处理一些东西 首先我们 ...

  9. this.parentMenu.dataRecord.data.testID的作用

    在JS里,有个this.parentMenu.dataRecord.data.XXID的方法,这个方法一般都是用来加载某个控件到一个面板或控件上的.如: loaddata(this.parentMen ...

  10. Android 支付宝接入时常见的问题

    1.概述 首先说明下,Android支付宝接入用的是快捷支付,下载地址是https://b.alipay.com/order/techService.htm    支付宝移动接入地址https://b ...