IOS开发之----NSDictionary,JSON和XML互相转换
本文永久地址为 http://www.cnblogs.com/ChenYilong/p/4044521.html,转载请注明出处。
-(void)test {
//XML文本范例
NSString *testXMLString = @"Cake0.55RegularChocolateBlueberryNoneGlazedSugar";
NSLog(@"xml string[\n%@\n]", testXMLString);
// 解析XML为NSDictionary
NSError *parseError = nil;
NSDictionary *xmlDictionary = [XMLReader dictionaryForXMLString:testXMLString error:&parseError];
// 打印 NSDictionary
NSLog(@"%@", xmlDictionary);
//NSDictionary转换为Data
NSData* jsonData = [NSJSONSerializationdataWithJSONObject:xmlDictionary options:NSJSONWritingPrettyPrintederror:&parseError];
//Data转换为JSON
NSString* str = [[NSStringalloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSLog(@"jsonData string[\n%@\n]", str);
//字符组转换为NSDictionary
NSDictionary *jsonDict = [str objectFromJSONString];
//NSDictionary转换为XML的plist格式
NSData *xmlData = [NSPropertyListSerializationdataFromPropertyList:jsonDict
format:NSPropertyListXMLFormat_v1_0
errorDescription:NULL];
//Data转换为NSString输出 编码为UTF-8
NSLog(@"XML: %@", [[NSStringalloc] initWithData:xmlData encoding:NSUTF8StringEncoding]);
NSLog(@"%@",[XMLWriter XMLStringFromDictionary:jsonDict withHeader:NO]);
}
//其中用到了三个类库,分别为
,JSONKit https://github.com/johnezang/JSONKit
,XMLWriter https://github.com/ahmyi/XMLWriter
,XMLReader https://github.com/amarcadet/XMLReader
源码下载地址:http://download.csdn.net/download/p709723778/5725585
下面连接是XML转换为Dictionary
https://github.com/nicklockwood/XMLDictionary
http://download.csdn.net/detail/p709723778/6706331
本文永久地址为 http://www.cnblogs.com/ChenYilong/p/4044521.html,转载请注明出处。
IOS开发之----NSDictionary,JSON和XML互相转换的更多相关文章
- iOS开发——网络篇——JSON和XML,NSJSONSerialization ,NSXMLParser(XML解析器),NSXMLParserDelegate,MJExtension (字典转模型),GDataXML(三方框架解析XML)
一.JSON 1.JSON简介什么是JSONJSON是一种轻量级的数据格式,一般用于数据交互服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典 ...
- iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转
iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转 1. 字典转Json字符串 // 字典转json字符串方法 -(NSString *)convertToJs ...
- iOS开发网络篇—JSON数据的解析
iOS开发网络篇—JSON数据的解析 iOS开发网络篇—JSON介绍 一.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式 ...
- SpringMVC关于json、xml自动转换的原理研究[附带源码分析 --转
SpringMVC关于json.xml自动转换的原理研究[附带源码分析] 原文地址:http://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-c ...
- 在线好用的json转xml超级好用在线json与xml互相转换
在线好用的json转xml超级好用在线json与xml互相转换 拿走不谢:http://www.yzcopen.com/json/jsonxmlformat
- iOS开发网络篇-JSON文件的解析
一.什么是JSON数据 1.JSON的简单介绍 JSON:是一种轻量级的传输数据的格式,用于数据的交互 JSON是javascript语言的一个子集.javascript是个脚本语言(不需要编译),用 ...
- SpringMVC关于json、xml自动转换的原理研究[附带源码分析]
目录 前言 现象 源码分析 实例讲解 关于配置 总结 参考资料 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.c ...
- SpringMVC关于json、xml自动转换的原理研究
SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC ...
- SpringMVC源码阅读:Json,Xml自动转换
1.前言 SpringMVC是目前J2EE平台的主流Web框架,不熟悉的园友可以看SpringMVC源码阅读入门,它交代了SpringMVC的基础知识和源码阅读的技巧 本文将通过源码(基于Spring ...
- SpringMVC关于json、xml自动转换的原理研究[附带源码分析](使用JAXB转换XML)
前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/spring ...
随机推荐
- 多线程 thread和Task的用法以及注意事项
并行 多核线程:Task 首先引用System.Threading; 1:用静态方法:Task.Factory.StartNew()来创建了一个最简单的Task: Task.Factory.Start ...
- 加州大学伯克利分校Stat2.2x Probability 概率初步学习笔记: Section 3 The law of averages, and expected values
Stat2.2x Probability(概率)课程由加州大学伯克利分校(University of California, Berkeley)于2014年在edX平台讲授. PDF笔记下载(Acad ...
- 数据结构与算法分析 - 最大公约数(gcd & extended_gcd)
以下内容均节选自<算法导论>第31章 最大公约数 定义:若:\[\begin{array}{l}a = p_1^{e_1}p_2^{e_2} \ldots p_r^{e_r}\\b = p ...
- Apache Nutch v2.3 发布,Java实现的网络爬虫
http://www.oschina.net/news/59287/apache-nutch-2-3 Apache Nutch v2.3已经发布了,建议所有使用2.X系列的用户和开发人员升级到这个版本 ...
- StringBuilder 拼接sql语句比较快
StringBuilder 拼接sql语句比较快StringBuilder strBuilder = new StringBuilder();strSql += "insert into t ...
- MySQL的mysqldump工具的基本用法
导出要用到MySQL的mysqldump工具,基本用法是: shell> mysqldump [OPTIONS] database [tables] 如果你不给定任何表,整个数据库将 ...
- centos 查看cpu个数、核数
# 总核数 = 物理CPU个数 X 每颗物理CPU的核数 # 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数 # 查看物理CPU个数 cat /proc/cpuinfo| ...
- HTML学习笔记——post表单
1>form1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// ...
- Xcode如何编译Debug版和Release版
在Run和Stop按钮的右边有一个工程名 点击工程名,选择Manage Schemes 选择Edit... 左侧选择Run ProjectName.app 右侧选择Info页,在Build Confi ...
- 修改 页面中默认的select样式
select样式定制: select { /*Chrome和Firefox里面的边框是不一样的,所以复写了一下*/ border: solid 1px #000; /*很关键:将默认的select选择 ...