###老是有人问我xml和json区别、 特写此篇记录来列出xml和json区别,懒得每次都解释、网络中很多博客都没提到关键的区别点 自述性、规范性;其他什么解析方法、啥啥的都不是最重要的最主要的就是xml能够由很强的自述性、规范性
###相同点:
1 2 3
| 1:都是一种数据传输格式 2:都和平台没有关系 xml和json都是对平台没有限制 只需要按照他们的规则进行解析即可 3:只要是能序列化和反序列化的数据都能传输 例如图片完全可以转成二进制或者16进制字符串传输然后反序列化成图片 (不推荐这样玩 容易损坏)
|
###不同点:
1 2 3 4 5
| 1:xml具有自述性 就是可以包含自我描述的元数据 例如<name type="string">xianyu</name> 这个就描述了name的值是xianyu类型是string json就无法这样直观的表述 这样就用来写配置及其方便、准确 用json也能写配置只要你不怕看的头疼 2:xml具有很强的规范性 你可以自己制定xml schema 来制定规范 json则没有这样的规范 只能间接的通过额外的json来为json定义格式 不方便而且麻烦
|
##如何选择
1 2
| 1:当需要传输具有元数据的数据的时候就肯定要用xml, 2:当需要节省流量、简化数据解析的时候要用json
|
##解析难度
1 2 3 4 5
| xml有sax和dom两种解析方式 都差不多 sax是把xml模拟成一个流然后对其中需要的字段进行解析 这种方法不能修改 dom是按照xml的元素结构进行解析 一般都是直接把xml加载到内存进行分析 可以修改
json就是把它当作字符串进行基于json格式的解析
|
##总结:
###xml和json都由各自适用的范围不能说那个替代那个 json在做数据传输方面比xml好一点 毕竟没xml冗杂,但是在传输那种能需要自述性、和严格规范的数据的时候xml是无可替代的 在做webservice的时候 两种都会用