• 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:xmlDictionaryoptions: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
  • 相关阅读:
    详解Codis安装与部署
    停车场地图开发
    dlib换脸
    海康相机官网硬触发设置
    python操作数据库
    心率和血氧测量
    音乐模块
    flask网页显示图片
    树莓派识别二维码
    树莓派python获取自身IP
  • 原文地址:https://www.cnblogs.com/Milo-CTO/p/4224884.html
Copyright © 2020-2023  润新知