首页 文章

谷歌协议缓冲区vs json vs XML [关闭]

提问于
浏览
215

我想知道它的优点和缺点

  • Google协议缓冲区

  • JSON

  • XML

我想为两个应用程序实现一个通用框架,一个在Perl中,另一个在Java中 . 因此,想要创建可由两种技术使用的公共服务,即Perl和Java .

两者都是网络应用程序 .

请与我分享您对此的宝贵意见和建议 . 我在谷歌上看过很多链接,但都有不同意见 .

1 回答

  • 261

    JSON

    • 人类可读/可编辑
      可以在不事先知道模式的情况下解析

    • 出色的浏览器支持

    • 比XML简洁

    XML

    • 人类可读/可编辑
      可以在不事先知道模式的情况下解析

    • SOAP等标准

    • 良好的工具支持(xsd,xslt,sax,dom等)

    • 非常详细

    的Protobuf

    • 非常密集的数据(小输出)

    • 难以在不知道架构的情况下进行强大的解码(数据格式内部不明确,需要架构来澄清)

    • 处理速度非常快

    • 不适合人眼(密集二进制)

    在大多数平台上都有很好的支持 .

    就个人而言,这些天我很少使用XML . 如果消费者是浏览器或公共API,我倾向于使用json . 对于内部API,我倾向于使用protobuf来提高性能 . 在公共API(通过标头或单独的 endpoints )上提供这两种方法也很有效 .

相关问题