zoukankan      html  css  js  c++  java
  • IOS开发之----NSDictionary,JSON和XML互相转换

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
        [self test];
        // Override point for customization after application launch.
        return YES;
    }
     
    -(void)test {
        
        //XML文本范例
        NSString *testXMLString = @"Cake0.55RegularChocolateBlueberryNoneGlazedSugar";
        
        NSLog(@"xml string[ %@ ]", testXMLString);
        // 解析XML为NSDictionary
        NSError *parseError = nil;
        NSDictionary *xmlDictionary = [XMLReader dictionaryForXMLString:testXMLString error:&parseError];
        // 打印 NSDictionary
        NSLog(@"%@", xmlDictionary);
        
        //NSDictionary转换为Data
        NSData* jsonData = [NSJSONSerialization dataWithJSONObject:xmlDictionary options:NSJSONWritingPrettyPrinted error:&parseError];
        
        //Data转换为JSON
        NSString* str = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
        
        NSLog(@"jsonData string[ %@ ]", str);
        //字符组转换为NSDictionary
        NSDictionary *jsonDict = [str objectFromJSONString];
        
        //NSDictionary转换为XML的plist格式
        NSData *xmlData = [NSPropertyListSerialization dataFromPropertyList:jsonDict
                                                                     format:NSPropertyListXMLFormat_v1_0
                                                           errorDescription:NULL];
        
        //Data转换为NSString输出 编码为UTF-8
        NSLog(@"XML: %@", [[NSString alloc] initWithData:xmlData encoding:NSUTF8StringEncoding]);
        
        
       
        NSLog(@"%@",[XMLWriter XMLStringFromDictionary:jsonDict withHeader:NO]);
     
    }
     
    //其中用到了三个类库,分别为
    1,JSONKit       https://github.com/johnezang/JSONKit
     
     
     
    下面连接是XML转换为Dictionary
    https://github.com/nicklockwood/XMLDictionary
    http://download.csdn.net/detail/p709723778/6706331
  • 相关阅读:
    JSP+JDBC+Servlet--基于数据库的登陆验证
    简单的购物车设计
    控制网页的访问时间
    JSP+JavaBean设计模式
    关于doGet和doPost的疑问
    IDEA连接SQL Server
    no sqljdbc_auth in java.library.path com.microsoft.sql 没有为集成身份验证配置驱动程序。
    数组的属性排序
    关于AFNetworking的Assertion failure崩溃
    C++中static关键字作用总结
  • 原文地址:https://www.cnblogs.com/Peak-Banish/p/4158295.html
Copyright © 2011-2022 走看看