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]);

?? ?

}

?

//其中用到了三个类库,分别为

1,JSONKit ? ? ? https://github.com/johnezang/JSONKit

2,XMLWriter? ? https://github.com/ahmyi/XMLWriter

3,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,转载请注明出处。

时间: 2024-08-26 04:10:47

IOS开发之----NSDictionary,JSON和XML互相转换的相关文章

iOS开发网络篇—JSON数据的解析

iOS开发网络篇—JSON数据的解析 iOS开发网络篇—JSON介绍 一.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典和数组 {"name" : "jack", "age" : 10} {"names" : ["jack", "rose", "jim

iOS开发-简单解析JSON数据

什么是JSON ? JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) ? JSON的格式很像OC中的字典和数组 ? {"name" : "Jack", "age" : 10} {"name" : ["jack", "rose", "jim"]} ? 标准JSON格式的注意点: key必须用双

SpringMVC关于json、xml自动转换的原理研究[附带源码分析 --转

SpringMVC关于json.xml自动转换的原理研究[附带源码分析] 原文地址:http://www.cnblogs.com/fangjian0423/p/springMVC-xml-json-convert.html 目录 前言 现象 源码分析 实例讲解 关于配置 总结 参考资料 前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-in

SpringMVC关于json、xml自动转换的原理研究[附带源码分析]

本文讨论SpringMVC关于json.xml自动转换的原理. 实现这个功能只需要三个配置 1.springmvc配置文件 dispatcher-servlet.xml中的关键配置如下 <mvc:resources location="/static/" mapping="/static/**"/> <!-- 配置包扫描器 --> <context:component-scan base-package="com.winner

【iOS开发-95】JSON反序列化、XML数据解析以及主线程中的UI更新等小细节

我们发送请求后,一般会获得data数据,这个时候我们反序列化即可. 常用的数据格式之一是JSON,格式如: {key:value,key:value,key:value....} (1)因为iOS5之前苹果不支持JSON解析,所以催生很多第三方解析,SBJson以及JSONKit.简单地JSON反序列化示例如下: NSURL *url=[NSURL URLWithString:@"http://www.baidu.com"]; NSURLRequest *request=[NSURLR

IOS开发网络篇-JSON文件的解析

一.什么是JSON数据 1.JSON的简单介绍 JSON:是一种轻量级的传输数据的格式,用于数据的交互 JSON是javascript语言的一个子集.javascript是个脚本语言(不需要编译),用来给HTML增加动态功能. javascript和java没有半毛钱的关系! 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外). 2.JSON的语法规则 <1> 数据以键值的方式保存; 键(key)必须用双引号("key"),与键值之间以':'分隔;

SpringMVC关于json、xml自动转换的原理研究

前言 SpringMVC是目前主流的Web MVC框架之一. 如果有同学对它不熟悉,那么请参考它的入门blog:http://www.cnblogs.com/fangjian0423/p/springMVC-introduction.html 现象 本文使用的demo基于maven,是根据入门blog的例子继续写下去的. 我们先来看一看对应的现象. 我们这里的配置文件 *-dispatcher.xml中的关键配置如下(其他常规的配置文件不在讲解,可参考本文一开始提到的入门blog): (视图配置

iOS开发--字典(NSDictionary)和JSON字符串(NSString)之间互转

1. 字典转Json字符串 + (NSString*)convertToJSONData:(id)infoDict { NSError *error; NSData *jsonData = [NSJSONSerialization dataWithJSONObject:infoDict options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated stri

iOS开发网络篇—JSON介绍

一.什么是JSON JSON是一种轻量级的数据格式,一般用于数据交互 服务器返回给客户端的数据,一般都是JSON格式或者XML格式(文件下载除外) JSON的格式很像OC中的字典和数组 {"name" : "jack", "age" : 10} {"names" : ["jack", "rose", "jim"]} 标准JSON格式的注意点:key必须用双引号 要想从