1
fumeboy 2023-05-03 09:20:05 +08:00
JSON with bytedance/sonic
|
2
joesonw 2023-05-03 09:39:09 +08:00 via iPhone
protobuf 很方便写自己的 protoc-gen 插件来生成各种自己需要的代码
这里是一个很简单的实现作为参考,https://github.com/joesonw/hrpc |
3
lovelylain 2023-05-03 09:41:22 +08:00 via Android
json 就没有 protobuf 的
|
4
lovelylain 2023-05-03 09:46:02 +08:00 via Android
json 就没有你所列的 protobuf 的缺点了吗?比如时间直接 time.Time 。json 相比 protobuf 除了低效,连 bytes 都不支持,pb 除了序列化以后没有可读性,其他方面不至于不如 json 呀。
|
5
hahadaxigua834 2023-05-03 10:07:17 +08:00
|
6
duke807 2023-05-03 11:04:40 +08:00 via Android
mesgpack
|
7
duke807 2023-05-03 11:09:41 +08:00 via Android
msgpack
|
8
wheeler 2023-05-03 11:28:54 +08:00 via iPhone
@lovelylain #4 go 里面 time 不是默认 rfc3339 格式吗?另外 bytes 也是直接 base64 。https://pkg.go.dev/encoding/json#Marshal
|
9
artnowben 2023-05-03 12:14:32 +08:00
看看 brpc 能不能满足需求
|
10
patrickyoung 2023-05-03 20:50:02 +08:00 via iPhone
Gob 能用不?但是问题是,需要注意反序列化不受信任的第三方数据带来的安全问题。
|
11
lysS 2023-05-04 16:37:46 +08:00
json 可以自定义序列化啊,struct 实现两个方法就可以了。这里很容易死循环,要定义个类型别名
|
12
firstep 2023-08-27 11:25:41 +08:00
看过各个序列化的性能对比,最终选 msgpack
|