如何从原型图生成对象

问题描述

我有以下定义字典映射的原型,当转换为打字稿时,此类型作为元组数组 Array<[string,string]> 返回,但是我希望它作为键:值对的对象。是否有可能?我应该在 proto 端使用不同的类型吗?

message Dictionary {
    map<string,string> pairs = 1;
}

为了生成网络输出和打字稿类型,我使用了带有 --js_out=import_style=commonjs,binary--grpc-web_out=import_style=commonjs+dts,mode=grpcwebtext 的 grpc-tools protoc.exe

解决方法

文档建议您应该在 getPairsMap() 消息中使用 Dictionary

https://developers.google.com/protocol-buffers/docs/reference/javascript-generated#map

然后有一个 toObject 函数:

https://github.com/protocolbuffers/protobuf/blob/8080bebf1f2ff87ef96a24135afe7f82d2eb3d2a/js/map.js#L148

我没试过这个。