JSON和XML的区别
来源:互联网 发布:燕雀焉知鸿鹄之志图片 编辑:程序博客网 时间:2024/04/30 15:52
首先就样子来说
json文件是这个样子
{"err":"-1","msg":"user_id\u53c2\u6570\u9519\u8bef","data":""}xml文件是
<?xml version="1.0" encoding="UTF-8"?><recipe><recipename>Ice Cream Sundae</recipename><preptime>5 minutes</preptime></recipe>
(ps:网上随意摘抄的)
首先就形式看起来,json是比xml直观,xml比json更清晰,因为标签比较多,所以xml看起来比json冗余些
其次是json的读取速度比xml快,体积小,但是xml可以进行读和写,一般情况不会进行写的操作,不过也没有那么绝对就是了
最后就是json的写法是
NSData *data = [[NSData alloc] initWithContentsOfURL:url]; if(data==nil) return; id jsonObj = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
简单,明确
xml的写法是
NSXMLParser *parser = [[NSXMLParser alloc] initWithContentsOfURL:url]; parser.delegate = self; [parser parse];看起来也很简单对不对,不过他需要用到的协议比较多
/** 在创建好对象后开始解析文档 */-(void)parserDidStartDocument:(NSXMLParser *)parser{ _notes = [NSMutableDictionary dictionary];}
/** 遇到开始标签 */-(void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName attributes:(NSDictionary *)attributeDict{ _currentTag = elementName;}
/** 遇到字符串触发 */-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{ string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; if ([string isEqualToString:@""]) { return; } [_notes setObject:string forKey:_currentTag];}
/** 遇到结束标签时触发 */-(void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName{ _currentTag = nil;}
/** 结束解析触发 */-(void)parserDidEndDocument:(NSXMLParser *)parser{}他一共需要5个协议才可以正确的开始解析xml,就这点来说是比较麻烦的,并且它是无序的,不会按照顺序下来的
不过你可以在
-(void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string这里获取指定标签的内容,而不必把所有的都记录下来,不过他还是要遍历全部才行
json比xml更占主流,更加流行,现在已经基本上见不到多少使用xml解析的了
这里就不得不感叹一下互联网的发展速度和更新速度了
0 0
- Json和XML的区别
- Json和Xml的区别
- json 和 xml 的区别
- XML和JSON的区别
- JSON和XML的区别
- XML和JSON的区别
- XML和JSON的区别
- json和xml的区别
- XML和JSON的区别
- JSON和XML的区别
- XML和json的区别?
- Json和xml的区别!
- XML和JSON的区别
- xml和json区别
- .xml和.json区别
- XML和JSON区别
- Json和xml区别
- XML和JSON区别
- 自动升级程序
- Spring+Mybatis多数据源配置(二)——databaseIdProvider的使用
- dubbo使用logback输出日志
- opencv实现图像任意角度旋转的算法解析及代码实现
- ORACLE 10.2.5垮版本升级11.2.2 for windows 详细文档
- JSON和XML的区别
- Kibana User Guide [4.2] » Visualize » Data Table
- Android 触摸手势基础 官方文档概览
- 实习三个月小结
- Android 注册小实例
- 单链表(C实现)
- 1009. 说反话 (20)
- 实现C/S程序的自动更新2
- weblogic 服务开机自动启动