1

我想将 .proto 文件转换为 JSON 描述符。

.proto 文件是这样的: https ://github.com/protobufjs/protobuf.js/blob/master/google/protobuf/type.proto

JSON 描述符是这样的: https ://github.com/protobufjs/protobuf.js/blob/master/google/protobuf/type.json

我想在 bigquery udf 上使用 protobuf 和使用 bq-udf-protobuf 的原因。 https://github.com/salrashid123/bq-udf-protobuf 所以,我想我需要为我的 SQL 准备像 JSON 描述符这样的句子。

4

1 回答 1

1

Robocco,您可以将您的 proto 文件定义转换为 protobufjs.Root,然后使用方法 toJSON() 获取 JSON 描述符。

这是文档中的一个相关示例

const protobufjs = require("protobufjs")

const root = protobufjs.loadSync('test.proto');
// Alternative way without loading proto string from file 
// const root = protobufjs.parse('syntax = "proto3"; ...').root;​
console.log(JSON.stringify(root.toJSON(), null, 4));
于 2021-09-16T13:42:49.197 回答