首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在grpc的protobuf中用dict定义python的列表?

如何在grpc的protobuf中用dict定义python的列表?
EN

Stack Overflow用户
提问于 2018-10-16 22:21:23
回答 1查看 937关注 0票数 0

在.proto中:

代码语言:javascript
复制
message HelloReplyList { repeated string message = 1; }

下面的代码运行良好

代码语言:javascript
复制
def SayHelloList(self, request, context):
    l = ['a', 'b', 'c']
    return helloworld_pb2.HelloReplyList(message=l)

以下代码工作正常错误: TypeError:{'a':'1'}具有类型dict,但应为以下类型之一:字节、unicode

代码语言:javascript
复制
def SayHelloList(self, request, context):
    d = [{'a': '1'}, {'b': '2'}]
    return helloworld_pb2.HelloReplyList(message=d)

如果我想使用[{'a':'1'},{'b':'2'}]。如何在.proto中定义

EN

回答 1

Stack Overflow用户

发布于 2018-10-18 06:44:32

我不认为protobuf python接受{'a':'1'},{'b':'2'}。{'a':'1'}可以是protobuf中的map字段,[]是一个列表。我们不支持重复的映射字段。

如果数据为{'a':'1','b':'2'},则可以这样定义.proto文件: message HelloReplyList { map map_field = 1;}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52837677

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档