xml与json区别及其适用范围

老是有人问我xml和json区别、 特写此篇记录来列出xml和json区别,懒得每次都解释、网络中很多博客都没提到关键的区别点 自述性、规范性;其他什么解析方法、啥啥的都不是最重要的最主要的就是xml能够由很强的自述性、规范性

相同点:

1:都是一种数据传输格式
2:都和平台没有关系 xml和json都是对平台没有限制 只需要按照他们的规则进行解析即可
3:只要是能序列化和反序列化的数据都能传输 例如图片完全可以转成二进制或者16进制字符串传输然后反序列化成图片 (不推荐这样玩 容易损坏)

不同点:

1:xml具有自述性 就是可以包含自我描述的元数据 例如xianyu
这个就描述了name的值是xianyu类型是string
json就无法这样直观的表述 这样就用来写配置及其方便、准确 
用json也能写配置只要你不怕看的头疼
2:xml具有很强的规范性 你可以自己制定xml schema 来制定规范 json则没有这样的规范 只能间接的通过额外的json来为json定义格式 不方便而且麻烦

如何选择

1:当需要传输具有元数据的数据的时候就肯定要用xml,
2:当需要节省流量、简化数据解析的时候要用json

解析难度

xml有sax和dom两种解析方式 都差不多 
sax是把xml模拟成一个流然后对其中需要的字段进行解析 这种方法不能修改
dom是按照xml的元素结构进行解析 一般都是直接把xml加载到内存进行分析 可以修改 

json就是把它当作字符串进行基于json格式的解析 

总结:

xml和json都由各自适用的范围不能说那个替代那个 json在做数据传输方面比xml好一点 毕竟没xml冗杂,但是在传输那种能需要自述性、和严格规范的数据的时候xml是无可替代的 在做webservice的时候 两种都会用

你可能感兴趣的:(xml与json区别及其适用范围)