json vs amf


在制作一般的social game的时候,前后端通信的数据格式该如何选择,json 和amf的格式各有什么优缺点?

actionscript as3

真-无限葱制 11 years, 11 months ago

优缺点:
JSON :
优点:

  1. 数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小
  2. 支持多种语言, 包括Actionscrīpt, C, C#, ColdFusion, Java, Javascrīpt, Perl, PHP, Python, Ruby等语言服务器端语言, 便于服务器端的解析
  3. 在PHP世界, 已经有PHP-JSON和JSON-PHP出现了, 便于PHP序列化后的程序直接调用. PHP服务器端的对象、数组等能够直接生JSON格式, 便于客户端的访问提取.
  4. 因为JSON格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 但是完成的任务不变, 且易于维护

缺点:是纯字符串,js中直接使用eval()方法,as3需要通过特定JSON库进行解析成Object对象(FP11将提供JSON支持)。

AMF :
优点:

  1. flash自身支持AMF格式,可以通过readObject方法解析成Object对象。
  2. 更小的数据传输量
  3. 更安全的数据传输
  4. 对程序员更友好的数据接口
  5. 数据的传输稳健性更高

缺点:数据是二进制,可读性差。

再加上XML的比较:
XML
优点:

  1. 格式统一, 符合标准
  2. 容易与其他系统进行远程交互, 数据共享比较方便

缺点:

  1. XML文件格式文件庞大, 格式复杂, 传输占用带宽
  2. 服务器端和客户端都需要花费大量代码来解析XML, 不论服务器端和客户端代码变的异常复杂和不容易维护
  3. 客户端不同浏览器之间解析XML的方式不一致, 需要重复编写很多代码
  4. 服务器端和客户端解析XML花费资源和时间
到处逛着玩儿 answered 11 years, 11 months ago

Your Answer