在 Java 中通过 Web 套接字将 XML 文档和 JSON 作为字节发送

Send XML Document and JSON as bytes over web socket in Java

使用 ByteArrayOutputStream 转换 XML 或 JSON 数据以通过网络套接字发送而不是将这些值作为字符串发送有什么好处?

  1. 安全性: JSON 和 XML 易于解码。(主要用于 WS / 与 WSS 比较)

  2. 效率: 在流量使用和大多数情况下 encode/decode 处理。与字符串相比,字节数组可能非常紧凑,特别是对于本质上不是字符串的数据(比较大小为 32 的 4 字节布尔数组与字符串表示需要超过 128 (32*4) 字节,数据使用和 encode/decode CPU 用法)。检查 THIS link

  3. 一般性: 发送所有类型的数据,包括它们之间具有复杂层次继承的任何对象。为了解码JSON具有复杂的树状继承,你需要非常复杂的解析方法。

  4. 简单性: 能够有意义地分块数据。假设我们总是使用数据的前 2 个字节作为它的类型。 (解码其余部分)。通常,其他图书馆会为我们做这件事。

  5. 完整性: 轻松识别损坏的数据。即使没有校验和,在大多数情况下也可以检测到 1 位数据损坏。

  6. 兼容性:使用带有版本的序列化对象来控制兼容性。 (版本控制)-虽然你可以在JSON中添加版本,但这可能会带来很多困难、低效和麻烦。检查 THIS

特殊情况下可能还有其他原因。