JSON和XML的区别

原创 2015年11月20日 15:00:38

首先就样子来说

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解析的了

这里就不得不感叹一下互联网的发展速度和更新速度了

版权声明:本文为博主原创文章,未经博主允许不得转载。

XML和JSON解析-----定义与比较

1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,...
  • ai_yong_jie
  • ai_yong_jie
  • 2016年04月14日 15:03
  • 1473

JSON 和 XML优缺点的比较

JSON(Javascript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavascriptProgramming Langua...
  • tangtiantian520
  • tangtiantian520
  • 2016年03月21日 13:05
  • 5309

Unity中关于XML和Json的读写

XML与JSON在开发中非常重要, 其实核心就是处理字符串。一个是XML的字符串一个是JSON的字符串,尤其是在处理网络请求的时候,肯定是要用的。另外现在JSON非常的流行,我写了一个简单的例子融合...
  • qq_bingfeng_8
  • qq_bingfeng_8
  • 2014年02月19日 10:09
  • 1024

json与xml的区别比较

  • 2014年10月17日 22:21
  • 11KB
  • 下载

SAX解析,DOM解析以及XML HTML JSON之间区别

XML 定义  可扩展性标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自...
  • shangandeyu_kun
  • shangandeyu_kun
  • 2016年03月30日 08:07
  • 1856

xml与json的区别,总结

JSON和XML的比较   ◆可读性   JSON和XML的可读性可谓不相上下,一边是简易的语法,一边是规范的标签形式,很难分出胜负。  ◆可扩展性   XML天生有很好的扩展性,JSON当然也...
  • jasonwoolf
  • jasonwoolf
  • 2015年08月14日 14:07
  • 209

JSON与XML的区别比较

http://www.cnblogs.com/SanMaoSpace/p/3139186.html 1.定义介绍 (1).XML定义 扩展标记语言 (Extensible Marku...
  • hemeinvyiqiluoben
  • hemeinvyiqiluoben
  • 2015年02月03日 14:49
  • 315

JSON与XML的区别比较(非常全面)

JSON与XML的区别比较(非常全面)
  • baidu_37107022
  • baidu_37107022
  • 2017年08月07日 21:44
  • 219

json和xml比较与区别

JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript的一个子集;XML(Extensible Markup Language)即可扩...
  • songlinjiang
  • songlinjiang
  • 2016年04月02日 12:20
  • 161

JSON与XML的区别比较

文章来源:http://www.cnblogs.com/SanMaoSpace/p/3139186.html 1.定义介绍 (1).XML定义 扩展标记语言 (Extensible ...
  • daiafei
  • daiafei
  • 2017年01月19日 10:09
  • 105
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:JSON和XML的区别
举报原因:
原因补充:

(最多只允许输入30个字)