客户端呈现JSON与GPB(协议缓冲区)

时间:2012-12-25 10:05:50

标签: java json perl protocol-buffers

我已经阅读了很多关于协议缓冲区(GPB)和JSON的优缺点 我有一种服务,将以这两种格式之一提供输出 因此,如果使用该服务的客户端主要将数据呈现给前端(主要是浏览器),那么最好使用哪两个?

需要考虑的其他因素包括:

  • 可维护性
  • 需要不断变化
  • 学习曲线
  • 可扩展性

2 个答案:

答案 0 :(得分:2)

“主要浏览器”足以得出结论:json。

Protobuf非常方便,设计高性能(处理成本更低,输出更小),并且版本容忍浏览器更擅长处理JSON。

答案 1 :(得分:1)

  • 可维护性

    什么?你的协议?你的申请?这与您选择的序列化器无关。

    串行器本身? JSON不需要任何维护。 JSON及其库是稳定的。不了解GPB。

  • 需要不断变化

    与您选择的序列化无关,但与您选择的协议无关。

  • 学习曲线

    JSON:my $json = encode_json($data);,另一方面类似。完成。

    GPB:不知道。由于您需要定义数据格式,因此看起来更多。

  • 可扩展性

    与您选择的序列化无关,但与您选择的协议和数据结构无关。