最近公司要把原来的项目从php生成xml该成用python生成pb(Protocol Buffer)结构,以前没接触pb,从网上查了一下教程。感觉不错。
我现在来总结一下:
XML | JSON | PB | |
数据结构支持 | 复杂结构 | 简单结构 | 复杂结构 |
数据保存方式 | 文本 | 文本 | 二进制 |
数据保存大小 | 大 | 一般 | 小 |
解析效率 | 慢 | 一般 | 快 |
语言支持程度 | 非常多 | 多 | C++/Java/Python/golang |
开发难度?繁琐? | 繁琐 | 简单 | 简单 |
学习成本 | 低 | 低 | 低 |
适用范围 | 数据交换 | 数据交换 | 数据交换 |
读取性 | 好 | 一般 | 差 |
XML这边php开发比较麻烦,虽然网络上提供了一些xml类,但是生成和解析还是需要成本的,首先字符编码,然后每个节点定义必须按照他的规则。而且如果一个不小心有一些特殊字符进来,处理起来很是麻烦。
pb虽然读取性比较差,必须开发接口解析出来才能查看,不过这也是它文件比较小的原因之一。而且最重要的一点他只需要维护文档,和他格式比较起来这点不错的。