MessagePack、Protobuf 和 JSON 有什么区别?谁能告诉我什么时候用哪个

What is the difference between MessagePack, Protobuf and JSON ? Can anyone tell me which one to use when

我需要了解两者的区别 - 消息包 - 协议缓冲区 - JSON

虽然没有深入探讨这个问题,但我会说以下内容:

这三种都是数据格式,可帮助您以结构化形式序列化信息,以便您可以轻松地在软件组件(例如客户端和服务器)之间交换信息。

虽然我对其他两个不太熟悉,但 JSON 目前是一个准标准,因为它实际上内置于 JavaScript - 这不是巧合称为 JavaScript 对象表示法。另外两个似乎需要两端的额外库来创建所需的格式。

那么什么时候用哪个呢?将 JSON 用于 REST 服务,例如,如果您想发布 API 或需要不同的客户端访问它。 JSON 似乎获得了最广泛的接受。