http://www.cnblogs.com/shrimps/archive/2008/11/06/1327988.html
近期手上项目需要选择一配置信息保存方案,现就XML、JSON、Protocol Buffer(以下简称PB)、Lua做一次横向对比。首先要说明的是Lua严格来说属于嵌入式脚本语言,而XML、JSON、PB都属于数据交换格式,两者之间不属于同类别,按理说不应该放在一起比较,但是就项目需求来讲,Lua也能够实现配置信息保存。故而将Lua和XML、JSON、PB放在一起做横向对比。
XML | JSON | PB | Lua | |
数据结构支持 | 复杂结构 | 简单结构 | 较复杂结构 | 复杂结构 |
数据保存方式 | 文本 | 文本 | 二进制 | 文本 |
数据保存大小 | 大 | 一般 | 小 | 一般 |
解析效率 | 慢 | 一般 | 快 | 稍快 |
语言支持程度 | 非常多 | 多 | C++/Java/Python | 多 |
开发难度?繁琐? | 繁琐 | 简单 | 简单 | 相对繁琐 |
学习成本 | 低 | 低 | 低 | 高 |
适用范围 | 数据交换 | 数据交换 | 数据交换 | 数据保存及脚本处理 |