【问题标题】:Json via Grpc (Java)Json 通过 Grpc (Java)
【发布时间】:2021-06-16 22:38:48
【问题描述】:

有没有通过 grpc 发送 json 的首选方式?

我使用 org.json 作为 java 中 json 对象的类表示,并通过 grpc 发送它。 由于现在只是将其转换为 json 字符串并通过 grpc 将其作为字符串发送,然后我将该字符串解析回 json 对象。

但是由于 protobuf 中有结构,我想知道它们是否在某些方面性能更好,或者我应该如何使用 json 而不是 grpc(最好在 java 中->也许 gson 在这里更好?)。

【问题讨论】:

    标签: java json grpc proto


    【解决方案1】:

    最好的方法是使用struct,如果你使用json字符串,你需要将对象转换为字符串,然后通过protobuf序列化并发送到服务器,服务器将字符串反序列化并解析为json。如果使用struct,只需要序列化和反序列化。性能会提升很多。

    【讨论】:

    • 好的,但是 strucst 在 java 中有一个非常糟糕的实现。你知道一种让它表现得更像 org.json 或 gson 实现的方法吗,因为使用结构有点烦人。
    • 我还测试了数据包大小和结构,与 json 字符串相比,它们有点大。这是一种普遍的行为吗?是否可以换取更高的执行速度?