json - google.protobuf.json_format.MessageToJson 更改字段名称。如何避免?

标签 json protocol-buffers

我有一些 Protocol Buffer 消息对象。所以我想以这种方式序列化它:

import json
from google.protobuf.json_format import MessageToJson

with open("file.json", 'w') as fjs:
    fjs.write(MessageToJson(message_object))

但它改变了对象字段的名称。
例如我有这样的对象:
[{
    "id": "333333",
    "creation_timestamp": 2011,
}]

MessageToJson将其字段更改为:
[{
  "id": "333333",
  "creationTimestamp": "2011",
}] 

creation_timestamp改为 creationTimestamp2011已完成 "2011" .如何避免?

最佳答案

我阅读了源代码,结果发现你可以传递一个选项 preserving_proto_field_name=TrueMessageToJson .

关于json - google.protobuf.json_format.MessageToJson 更改字段名称。如何避免?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43835243/

相关文章:

go - 在 protobuf 的 .proto 文件中将 golang 类型定义为其他类型的一部分

go - 使用mustEmbedUnimplemented ***方法的grpc

javascript - 如何正确可靠地跨站加载JSON数据?

JSON 结合保持文件夹结构的 gulp 任务 - 跨平台

javascript - jsTree 为每个父扩展执行 ajax 请求

java - 无法从 java 文件 Intellij id 导入 proto 文件

javascript - 尝试从 API 获取数据时出现问号

java - 使用 POJO 方法的 Java 类中的 JSON

windows - 试图在 Windows 上运行 hadoop

protocol-buffers - protobuf和arrow的比较