JSON和XML的区别
2015-11-20 15:00
585 查看
首先就样子来说
json文件是这个样子
(ps:网上随意摘抄的)
首先就形式看起来,json是比xml直观,xml比json更清晰,因为标签比较多,所以xml看起来比json冗余些
其次是json的读取速度比xml快,体积小,但是xml可以进行读和写,一般情况不会进行写的操作,不过也没有那么绝对就是了
最后就是json的写法是
简单,明确
xml的写法是
不过你可以在
json比xml更占主流,更加流行,现在已经基本上见不到多少使用xml解析的了
这里就不得不感叹一下互联网的发展速度和更新速度了
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解析的了
这里就不得不感叹一下互联网的发展速度和更新速度了
相关文章推荐
- DataContractJsonSerializer进行Json的序列化和反序列化
- JSP:JSTL--JSP Standard TAG Library
- js如何去当前时间前一天的时间和后一天
- js 闭包作用
- 不想让浏览器运行javascript脚本的方法
- js 毫秒换算成秒
- JavaScript获取浏览器信息的方法
- JavaScript性能优化之小知识总结
- JS中使用正则表达式
- JavaScript中的各种宽高以及位置总结
- JSP 新闻发布会
- 用JS实现了一个简单的计算器。
- js判断访问源
- C#, Java, PHP, Python和Javascript几种语言的AES加密解密实现
- js运行机制
- [译]JavaScript文件操作(1)-基础
- 20151119js上课总结
- js动态获取表单元素
- JavaScript基础——文档对象模型(DOM)
- Javascript设计模式理论与实战:享元模式