gpt4 book ai didi

c++ - protobuf 与 rapidjson 数据格式

转载 作者:太空狗 更新时间:2023-10-29 21:34:56 25 4
gpt4 key购买 nike

使用 rapidJSON 我能够将任何类型的数据(rapidJSON 支持)存储为键值。我可以在 protobuf 中这样做吗?如果是,怎么办?

我选择 protobuf 而不是 rapidJSON 的原因是因为它的速度(并且 rapidJSON 中的键比较实际上是一个成本高昂的“字符串”比较)。或者还有其他选择吗?也许 FlatBuffers ?

要求是针对 int 类型键存储任何类型的数据。比常规 json 更快的序列化/反序列化。

从 C++ 的角度寻找答案。

最佳答案

在 protobuf 中,通常您有一个固定的契约(Contract),将给定的键预解释为给定的类型,但是:还有扩展的概念。通过扩展,可以根据字段编号存储任意数据;这适用于也可以使用常规 API 表达的任何类型。

扩展 API 的便利性和性能取决于实现,但它应该可以从官方 C++ API 中完美使用。

关于扩展的关键点是只有消费者需要理解它们。

关于c++ - protobuf 与 rapidjson 数据格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44653430/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com