不喜欢广告? 无广告 今天

Protobuf 文本转 JSON 转换器

数据开发人员
广告 移除?
广告 移除?

指导

Protobuf 文本转 JSON 转换器

即时转换 Protobuf 文本格式和 JSON。将 Protobuf TextProto(Protocol Buffer 消息的可读文本表示形式)解析为 JSON,或将 JSON 转换回 Protobuf 文本格式。支持嵌套消息、重复字段和可配置的缩进。

如何使用

选择您的转换方向(Protobuf 文本 → JSON 或 JSON → Protobuf 文本),粘贴您的输入,选择缩进大小,结果将即时显示。使用内置示例查看实际的 Protobuf 消息转换为 JSON。

特征

  • 双向转换 – TextProto 到 JSON 和 JSON 到 TextProto
  • 嵌套消息支持 – 处理任意深度的消息嵌套
  • 重复字段 – 正确将重复的 Protobuf 字段转换为 JSON 数组
  • 可配置的缩进 – 选择 2 或 4 个空格用于输出格式化
  • 示例预设 – 实际的 Protobuf 消息供参考
  • 仅客户端 – 您的数据绝不离开浏览器

广告 移除?

常问问题

  1. 什么是 Protobuf 文本格式 (TextProto)?

    TextProto 是 Protocol Buffer 消息的可读文本表示形式,主要用于配置文件、测试夹具和调试输出。与用于传输的二进制格式不同,TextProto 使用字段名称,并且无需模式即可读取:标量字段为 field_name: value,嵌套消息为 field_name { ... }。它不是生产用途的标准序列化格式,但在 Google 的内部工具和 TensorFlow 配置文件中很常见。

  2. Protobuf 二进制格式与 JSON 有何不同?

    Protobuf 二进制格式使用字段编号(而非名称)和 varint 编码来生成紧凑、快速解析的消息。Protobuf 消息的 JSON 等效项通常大 3-5 倍。但是,Protobuf 二进制格式不是自描述的——您需要 .proto 模式才能解码它。JSON 是自描述且可读的。Protobuf 适用于高吞吐量的内部 API;JSON 适用于公共 API 和配置。

  3. 何时需要 TextProto 和 JSON 之间进行转换?

    常见场景包括:将配置文件从基于 proto 的系统(TensorFlow、Bazel)迁移到基于 JSON 的系统,通过转换为可读的 JSON 来调试 Protobuf 消息,为消耗 Protobuf 的系统编写 JSON 格式的测试夹具,以及检查以 TextProto 格式存储的 ML 模型配置。对于没有 JSON 等效类型的类型(如 Protobuf Any 或原始字节),转换是会丢失信息的,因此请仔细检查输出。

  4. 在没有模式的情况下,Protobuf 文本到 JSON 转换有哪些局限性?

    在没有 .proto 模式的情况下,转换器无法仅从结构上知道字段类型(int32 与 int64 与 string)或区分可选、必需和重复字段。具有单个值的重复字段看起来与可选字段相同。枚举显示为整数,没有符号名称。此工具执行尽力而为的结构转换;对于生产用途,请使用具有可用模式的官方 protoc JSON 映射。

想要享受无广告的体验吗? 立即无广告

安装我们的扩展

将 IO 工具添加到您最喜欢的浏览器,以便即时访问和更快地搜索

添加 Chrome 扩展程序 添加 边缘延伸 添加 Firefox 扩展 添加 Opera 扩展

记分板已到达!

记分板 是一种有趣的跟踪您游戏的方式,所有数据都存储在您的浏览器中。更多功能即将推出!

广告 移除?
广告 移除?
广告 移除?

新闻角 包含技术亮点

参与其中

帮助我们继续提供有价值的免费工具

给我买杯咖啡
广告 移除?