For any application utilizing both protobuf and serde, it'd be better to use serde_json::Value in place of prost_types::Value. I believe (but haven't tested) that it's possible to get prost-build to output serde_json::Value instead of prost_types::Value using prost_build::Config::extern_path(".google.protobuf.Value", "::serde_json::Value"), however ::serde_json::Value doesn't impl Message, so this won't currently work.
The solution is to add an optional serde_json dependency to prost and conditionally add the impl.
For any application utilizing both protobuf and serde, it'd be better to use
serde_json::Value
in place ofprost_types::Value
. I believe (but haven't tested) that it's possible to getprost-build
to outputserde_json::Value
instead ofprost_types::Value
usingprost_build::Config::extern_path(".google.protobuf.Value", "::serde_json::Value")
, however::serde_json::Value
doesn'timpl Message
, so this won't currently work.The solution is to add an optional
serde_json
dependency toprost
and conditionally add theimpl
.