简介Objective-C解析XML与JSON数据格式的方法

2020-01-14 19:11:41王振洲

    if (currentElement) {
 
        currentValue = string;
        [rootDic setObject:string forKey:currentElement];
    }
     
}
#pragma - mark 结束节点时
-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
    if (currentElement) {
        [rootDic setObject:currentValue forKey:currentElement];
        currentElement = nil;
        currentValue = nil;
    }
    for(NSString *key in self.keyElements){
 
        if ([elementName isEqualToString:key]) {
            // 关键节点结束时,将字典存放在数组中
            if (rootDic) {
 
                [finalArray addObject:rootDic];
            }
        }
    }
}
#pragma - mark 结束解析
-(void)parserDidEndDocument:(NSXMLParser *)parser
{
     
}
解析完成后,打印出finalArray为

 


(
 {
  message = "U7528U6237U4fe1U606f";
 },
 {
  age = 10;
  name = "U82b3U4ed4U5c0fU811aU5370";
  school = "JiangSu University";
 },
 {
  age = 22;
  name = "U6bd2U866b";
  school = "NanJing University";
 },
 {
  age = 23;
  name = "U5973U795e";
  school = "HongKong University";
 }
)
 

使用SBJson拼接和解析json
1.ios解析json 
使用开源json包,项目地址: 
http://www.easck.com/json-framework/

复制代码
NSData * responseData = [respones responseData]; 
      
     NSString * strResponser = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; 
SBJsonParser * parser = [[SBJsonParser alloc]init]; 
     NSMutableDictionary *dicMessageInfo = [parser objectWithString:strResponser]; // 解析成json解析对象 
[parser release]; 
     //发送者 
     NSString * sender = [dicMessageInfo objectForKey:@"sender"];