将javascript中的Protobuf模式转换为单独的proto定义文件

将javascript中的Protobuf模式转换为单独的proto定义文件,javascript,protocol-buffers,protobuf-net,Javascript,Protocol Buffers,Protobuf Net,我有下面的javascript内容,我想转换成protobuf文件(.proto文件)。我想知道如何将其保存为原始文件。 JS文件 { package: null, syntax: "proto2", messages: [{ name: "Msg", syntax: "proto2", fields: [{ rule: "optional",

我有下面的javascript内容,我想转换成protobuf文件(.proto文件)。我想知道如何将其保存为原始文件。 JS文件

 {
        package: null,
        syntax: "proto2",
        messages: [{
            name: "Msg",
            syntax: "proto2",
            fields: [{
                rule: "optional",
                type: "Commands",
                name: "command_number",
                id: 1
            }, {
                rule: "optional",
                type: "bytes",
                name: "data",
                id: 2
            }, {
                rule: "optional",
                type: "int32",
                name: "time",
                id: 3
            }],
 enums: [{
            name: "Commands",
            syntax: "proto2",
            values: [{
                name: "chart_create_session",
                id: 0
            }, {
                name: "chart_delete_session",
                id: 1
            }, {
                name: "resolve_symbol",
                id: 2
            }, {
                name: "create_series",
                id: 3
            }
}]
}]
    }

是的,以前的事

在这种情况下:

syntax=“proto2”;
消息消息{
可选命令command_number=1;
可选字节数据=2;
可选int32时间=3;
}
枚举命令{
图表创建会话=0;
图表删除会话=1;
解析_符号=2;
创建_系列=3;
}
消息图表\u创建\u会话{
可选字符串会话=1;
可选字符串参数=2;
}

这是一次性的吗?i、 e.“手动”是一种选择吗?或者,您是否希望为将来的输入可靠地执行此操作?是的,这一次如果我添加消息“图表创建会话”{optional string session=1;optional string parameters=2;}“图表创建会话”已定义,我将收到一个错误。注意:EnUM值使用C++范围规则,意味着枚举值是它们的类型的兄弟姐妹,而不是它的孩子。因此,“图表创建会话”在全局范围内必须是唯一的,而不仅仅是在“命令”中。。。是的,但这条消息不在原始JSON中,也不在我的答案中,所以我认为这是您需要解决的问题——我没有上下文