码迷,mamicode.com
首页 > Web开发 > 详细

JSON&XML的解析并转成模型

时间:2014-12-09 19:26:03      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:io   ar   使用   sp   for   strong   on   2014   bs   

//

//  RootViewController.m

//  json demo

//

//  Created by liman on 14-6-20.

//  Copyright (c) 2014 liman. All rights reserved.

//

 

#import "RootViewController.h"

#import "JSONManager.h"

#import "SHXMLParser.h"

#import "Model.h"

#import "XMLDictionary.h"

 

@interfaceRootViewController ()

 

@end

 

@implementation RootViewController

 

#pragma mark - 工具方法

// 删除字典里值为空的key, {}    (只针对使用了解析器SHXMLParser)

- (id)formatWithDict:(id)dict

{

    // 1. 参数不是字典, 则直接返回

    if (![dict isKindOfClass:[NSDictionaryclass]]) {

        

        return dict;

    }

    

    

    // 2. 参数是字典, 则进一步处理

    NSMutableDictionary *muDict = [NSMutableDictionarydictionaryWithDictionary:dict];

    

    for (NSString *key in [dict allKeys]) {

        

        if ([[dict objectForKey:key] isKindOfClass:[NSDictionaryclass]]) {

            

            if ([[[dict objectForKey:key] allKeys] count] == 0) {

                

                // 空字典的处理

                [muDict removeObjectForKey:key];

            }

            

        }

    }

    

    return muDict;

}

 

 

 

 

 

 

- (void)viewDidLoad

{

    [superviewDidLoad];

  

#warning - NSData ---> JSON字典/JSON字符串

//    NSData *jsonData;

//    // json字符串

//    NSString *jsonStr = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

//    // json字典

//    NSDictionary *jsonStrDic = [[JSONManager alloc] transformDatatodic:jsonData];

    

    

#warning - JSON字典 ---> Model

//    NSDictionary *json = @{

//                            @"id":@"10",

//                            @"country":@"Germany",

//                            @"dialCode": @49,

//                            @"isInEurope":@YES

//                            };

//    Model *model = [[Model alloc] initWithDictionary:json error:nil];

 

    

#warning - JSON字符串 ---> Model

//    NSString *path = [[NSBundle mainBundle] pathForResource:@"eg" ofType:@"json"];

//    NSString *json = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];

//    Model *model = [[Model alloc] initWithString:json error:nil];

 

 

    

// ------------------------------------  以上:JSON,   以下:XML  --------------------------------------

    

    

    

#warning - NSData ---> XML字典 (两个解析器: 第一个会出现空字典bug,{};  第二个没有空字典bug,空字典会直接移除掉)

//    NSData *xmlData;

//    

//    // 第一个解析器

//    SHXMLParser *parser = [[SHXMLParser alloc] init];

//    NSDictionary *xmlDic = [parser parseData:xmlData];

//    

//    // 第二个解析器

//    XMLDictionaryParser *parser2 = [XMLDictionaryParser sharedInstance];

//    NSDictionary *xmlDic2 = [parser2 dictionaryWithData:xmlData];

    

 

#warning - XML字典 ---> Model

//    NSDictionary *xmlDic = @{

//                             @"id":@{},

//                            @"country":@"Germany",

//                            @"dialCode": @49,

//                            @"isInEurope":@{},

//                            };

//

//    // 删除字典里值为空的key, {}     (只针对使用了解析器SHXMLParser)

//    NSDictionary *xmlDic2 = [self formatWithDict:xmlDic];

//    

//    Model *model = [[Model alloc] initWithDictionary:xmlDic2 error:nil];

 

}

 

@end

JSON&XML的解析并转成模型

标签:io   ar   使用   sp   for   strong   on   2014   bs   

原文地址:http://www.cnblogs.com/liman1990/p/4153772.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!