/*

      总结:   json格式的读写:

解析:

data =   NSData  dataWithContentsOfUrl:XXX

id obj  =  [ NSJsonSerialization NSJSONObjectWithData:data XXXX];

生成json格式的文件

array或 dict

NSData* data  = [NSJSONSerialization dataWithJSONObject:array/dict XXXX];

data writeToFile:PATH;

或者

data writeToURL:(NSURL*)url;

*/

#define urlString @"http://localhost/files/test.json"

#define cpuString @"http://localhost/files/cpu.json"

void parseJsonData(void)

{

//将特殊字符编码,例如 中文

//    urlString stringByAddingPercentEscapesUsingEncoding:<#(NSStringEncoding)#>

//将一些被编码的字符串解码成特殊字符中

//    urlString stringByReplacingPercentEscapesUsingEncoding:<#(NSStringEncoding)#>

//将url字符串编码,即去除特殊字符串,若是没有特殊字符,可以不必

NSString* validUrlString = [urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

NSURL * url = [NSURL URLWithString:validUrlString ];

NSData* data = [ NSData dataWithContentsOfURL:url ];

NSString *contents = [[ NSString alloc]initWithData:data encoding:NSUTF8StringEncoding];

NSLog(@"contents:%@",contents);

NSError* error=nil;

NSArray* array = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];

}

//********************************************

#define PATH @"/Users/wenhua/Desktop/write.json"

//把内存中的数据构造成json格式的字节流

void makeJsonData(void)

{

NSMutableArray *array = [[ NSMutableArray alloc]init];

[array addObject:@"abc"];

[array addObject:[NSNumber numberWithInt:123]];

[array addObject:[NSNumber numberWithBool:YES]];

[array addObject:[NSNumber numberWithFloat:3.14159]];

[array addObject:[NSNull null]];

//创建一个字典

NSDictionary* dict=@{@"k1":@"v1",@"k2":@"v2"};

[array addObject:dict];

NSArray* arr = @[@"one",@"two",@"three" ];

[array addObject:arr];

NSError* error=nil;

NSData* data = [NSJSONSerialization dataWithJSONObject:array options:NSJSONWritingPrettyPrinted error:&error];

if (error) {

NSLog(@"%@",error);

return;

}

[data writeToFile:PATH  atomically:YES];

}

NSJSONSerialization的更多相关文章

  1. iOS json解析的几种方法 NSJSONSerialization,JSONKit,SBJson ,TouchJson

    相关的第三方类库大家可以去github上下载 1.NSJSONSerialization 具体代码如下 : - (void)viewDidLoad { [super viewDidLoad]; NSD ...

  2. NSJSONSerialization(json序列化)

    //通过调用isValidJSONObject来判断Foundation对象是否可以转换为JSON数据 NSJSONSerialization isValidJSONObject:obj 我们能利用N ...

  3. 使用NSJSONSerialization将数组或字典转为字符串

    IOS中将数组或字典转为字符串可以用NSJSONSerialization,代码如下: NSData* data = [NSJSONSerialization dataWithJSONObject:a ...

  4. NSJSONSerialization 组json字符串

    抄的网上的. 主要是组织列表部分 NSDictionary *song = [NSDictionary dictionaryWithObjectsAndKeys:",@"lengt ...

  5. iOS开发——网络篇——JSON和XML,NSJSONSerialization ,NSXMLParser(XML解析器),NSXMLParserDelegate,MJExtension (字典转模型),GDataXML(三方框架解析XML)

    一.JSON 1.JSON简介什么是JSONJSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典 ...

  6. 系统自带的NSJSONSerialization解析json文件

    #import "ViewController.h" #import "Student.h" #import "GDataXMLNode.h" ...

  7. iOS下json的解析 NSJSONSerialization

      - (IBAction)JOSNButtonPressed:(id)sender { NSString *str=[@"http://douban.fm/j/mine/playlist? ...

  8. NSJSONSerialization介绍

      ios5中apple增加了解析JSON的api——NSJSONSerialization.网上已经有人做过测试,NSJSONSerialization在效率上完胜SBJSON.TouchJSON. ...

  9. Objective-C ,ios,iphone开发基础:JSON解析(使用苹果官方提供的JSON库:NSJSONSerialization)

    json和xml的普及个人觉得是为了简化阅读难度,以及减轻网络负荷,json和xml 数据格式在格式化以后都是一种树状结构,可以树藤摸瓜的得到你想要的任何果子. 而不格式化的时候json和xml 又是 ...

随机推荐

  1. 扩展Exception,增加判断Exception是否为SQL引用约束异常方法!

    在设计数据表时,如果将某些列设置为关联其它表的外键,那么如果对其进行增加.修改操作时,其关联表若没有相匹配的记录则报错,或者在对其关联表进行删除时,也会报错,这就是外键约束的作用,当然除了外键还有许多 ...

  2. 如何提升我的HTML&CSS技术,编写有结构的代码

    前言 之前写了四篇HTML和CSS的知识点,也相当于是一个知识点汇总.有需要的可以收藏,平时开发过程中应该会遇到这些点,到时候再查看这些博客可能更容易理解.从这篇开始更多的介绍开发过程经常让人头痛的前 ...

  3. js正则中的贪婪和非贪婪模式问题总结

    var b="abeeee:eeeee:eeeeeab"; console.log(b.match(/e+\:e+/g));//["eeee:eeeee"]贪婪 ...

  4. Winform如何实现ComboBox模糊查询

    最近朋友问了一个关于Winform实现ComboBox模糊查询的知识点,自己好久没有搞Winform了,就上手练了一下,废话不多说,进入正题. 前台设计: 前台就是一个简单的Form窗体+一个Comb ...

  5. C# DllImport用法和路径问题

    DllImport是System.Runtime.InteropServices命名空间下的一个属性类,其功能是提供从非托管DLL导出的函数的必要调用信息.    DllImport属性应用于方法,要 ...

  6. Oracle导入导出命令

    //导出 exp techrpt_data/techrpt_data@orcl file=d:\_临时文件\techrpt_data.dmp owner=techrpt_data //导入 imp t ...

  7. ASP.NET Core Web API 开发-RESTful API实现

    ASP.NET Core Web API 开发-RESTful API实现 REST 介绍: 符合REST设计风格的Web API称为RESTful API. 具象状态传输(英文:Representa ...

  8. Ajax学习笔记1之第一个Ajax应用程序

    代码 <head> <title>An Ajax demo</title> <script src="../js/jquery-1.4.1.js&q ...

  9. 炉石传说 C# 开发笔记 (续)

    炉石传说山寨的工作一直在进行着,在开发过程中深深体会到,对于业务的理解和整个程序的架构的整理远比开发难得多. 在开发过程中,如果你的模型不合理,不准确,很有可能造成代码的混乱,冗余,难以维护和扩展性比 ...

  10. 【C#进阶系列】16 数组

    首先提一下,个人在项目中已经很少用到数组了,更多的时候使用List<>. 数组大小固定,如果只是用来存放数据,专门用来读取,更改当然方便.但是更多的时候我们需要进行增删改,这个时候用Lis ...