首页 > 代码库 > IOS开发之----NSDictionary,JSON和XML互相转换
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 = http://www.mamicode.com/[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 = http://www.mamicode.com/[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,转载请注明出处。
IOS开发之----NSDictionary,JSON和XML互相转换