在移动与WEB开发时,避免不了服务端与客户端数据交换,需要从多种格式中找到一种合适的
主要考虑两点,数据量小,解析快速,支持工具丰富
json(JavaScript Object Notation)
一般用于WEB和移动应用的网络数据交换
优点:
可以被JS原生解析
应用广泛,适合于数据交换处理,被于WEB和移动应用开发,所以服务端与客户端一般被要求同时支持JSON
数据量小,易于解析,因为格式简单,只有数组,对象和普通文本
缺点:
肉眼可读性差,
字符类型与数值类型容易混淆
举例
["str1",2,{"key":"value}]
xml(eXtensible Markup Language)
被广泛应用,具备完善的标准
优点:
扩展性好,标记自由定义
被广泛使用(HTML,SOAP,应用的界面布局结构如安卓)
描述性好,有节点名,属性名,还有文件头(描述字符编码和版本)
支持嵌套
支持注释<!---->
支持特殊格式,CDATA,<![CDATA[文本内容]]>
缺点:
数据量大,重复信息最多,因为嵌套结点必须有头和尾,每一个节点的属性都必须有键有值,...
解析最复杂,因为格式本身复杂,有多种类型的节点
举例
<?xml encoding="utf-8" version="1.0">
<!--for class5 grade1-->
<class>
<student name="ming" age="18">
<![CDATA[some script]]>
</student>
</class>
ini (Initial)
早期使用比较多,一般用于存储系统和应用的配置信息
优点:
所以数据量小,因为格式最简单
解析最简单,只要解析[],=,换行
支持注释 ;
缺点:
ini只支持键值模式,而且只有一层分类,无嵌套
k1=k2
[sec1]
k1=v1
k2=v2
[sec2]
k1=v1
对比XML JSON INIDG 三种格式