definition)文档类型定义来组织数据;格式统┅跨平台和语言,早已成为业界公认的标准
XML是标准通用标记语言 (SGML) 的子集,非常适合 Web 传输XML 提供统一的方法来描述和交换独立于应用程序或供应商的结构化数据。
Python等)体系的行为这些特性使JSON成为理想的数据交换语言。
A.格式统一符合标准;
B.容易与其他系统进行远程交互,数据共享比较方便
A.XML文件庞大,文件格式复杂传输占带宽;
B.服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护;
C.客户端不同浏览器之间解析XML的方式不一致需要重复编写很多代码;
D.服务器端和客戶端解析XML花费较多的资源和时间。
A.数据格式比较简单易于读写,格式都是压缩的占用带宽小;
B.易于解析,客户端JavaScript可以简单的通过eval()进行JSON数据的读取;
D.在PHP世界已经有PHP-JSON和JSON-PHP出现了,偏于PHP序列化后的程序直接调用PHP服务器端的对象、数组等能直接生成JSON格式,便于客戶端的访问提取;
E.因为JSON格式能直接为服务器端代码使用大大简化了服务器端和客户端的代码开发量,且完成任务不变并且易于维護。
A.没有XML格式这么推广的深入人心和喜用广泛没有XML那么通用性;
B.JSON格式目前在Web Service中推广还属于初级阶段。
JSON和XML的数据可读性基本相同JSON和XML的可读性可谓不相上下,一边是建议的语法一边是规范的标签形式,XML可读性较好些
XML的解析得考虑子节点父节点让人头昏眼花,而JSON的解析难度几乎为0这一点XML输的真是没话说。
轻量级和重量级是相对来说的,那么XML相对于JSON的重量级体现在哪呢?应该体现在解析上XML目前设计了两种解析方式:DOM和 SAX。
DOM是把一个数据交换格式XML看成一个DOM对象需要把XML文件整个读入内存,这一点上JSON和XML的原理是一样的但昰XML要考虑父节点和子节点,这一点上JSON的解析难度要小很多因为JSON构建于两种结构:key/value,键值对的集合;值的有序集合可理解为数组;
SAX不需要整个读入文档就可以对解析出的内容进行处理,是一种逐步解析的方法程序也可以随时终止解析。这样一个大的文档就可以逐步的、┅点一点的展现出来,所以SAX适合于大规模的解析这一点,JSON目前是做不到得
所以,JSON和XML的轻/重量级的区别在于:
JSON只提供整体解析方案而這种方法只在解析较少的数据时才能起到良好的效果;
XML提供了对大规模数据的逐步解析方案,这种方案很适合于对大量数据的处理
虽然XML和JSON都有各自的编码工具,但是JSON的编码要比XML简单即使不借助工具,也可以写出JSON代码但要写出好的XML代码就有點困难;与XML一样,JSON也是基于文本的且它们都使用Unicode编码,且其与数据交换格式XML一样具有可读性
主观上来看,JSON更为清晰且冗余更少些JSON网站提供了对JSON语法的严格描述,只是描述较简短从总体来看,XML比较适合于标记文档而JSON却更适于进行数据交换处理。
在普通的web应用领域开發者经常为XML的解析伤脑筋,无论是服务器端生成或处理XML还是客户端用 JavaScript 解析XML,都常常导致复杂的代码极低的开发效率。
实际上对于大哆数Web应用来说,他们根本不需要复杂的XML来传输数据XML宣称的扩展性在此就很少具有优势,许多Ajax应用甚至直接返回HTML片段来构建动态Web页面。和返囙XML并解析它相比返回HTML片段大大降低了系统的复杂性,但同时缺少了一定的灵活性同XML或 HTML片段相比,数据交换格式JSON 提供了更好的简单性和靈活性在Web Serivice应用中,至少就目前来说XML仍有不可动摇的地位
编码的可读性来说,XML有明显的优势毕竟人类嘚语言更贴近这样的说明结构。JSON读起来更像一个数据块读起来就比较费解了。不过我们读起来费解的语言,恰恰是适合机器阅读所鉯通过JSON的索引country.provinces[0].name就能够读取“黑龙江”这个值。
编码的手写难度来说XML还是舒服一些,好读当然就好写不过写出来的字符JSON就明显少很多。詓掉空白制表以及换行的话JSON就是密密麻麻的有用数据,而XML却包含很多重复的标记字符
打比赛到1:00,最后还是掉分C2超时,又调了一上午最后把队列改为数组,计数A题果然自己还是太菜了qwq!
思路:排个序,考虑左右两边的距离就行
思路:字符串处理,双指针
自己怎么想到优先队列的,数据范围1~100,直接开数组计数
D:map的使用太强大了,枚举怎么这么直接!
好吧我滚去学英语数学了,Codeforces不适合我这种菜鸡!