gpt4 book ai didi

flatbuffers - 将 json 模式转换为 flatbuffer 模式

转载 作者:行者123 更新时间:2023-12-03 21:24:04 25 4
gpt4 key购买 nike

有没有办法将 JSON 模式转换为 Flatbuffer 模式?
这里的用例是用户可以创建 JSON 模式,但我正在寻找一种将 JSON 模式转换为 Flatbuffer 的方法。

示例:输入

 {
"$schema": "http://json-schema.org/draft-04/schema#",
"definitions": {
"MyGame_Sample_Color": {
"type": "string",
"enum": [
"Red",
"Green",
"Blue"
]
},
"MyGame_Sample_Monster": {
"type": "object",
"properties": {
"mana": {
"type": "number"
},
"hp": {
"type": "number"
},
"name": {
"type": "string"
},
"friendly": {
"type": "boolean"
},
"inventory": {
"type": "array",
"items": {
"type": "number"
}
},
"color": {
"$ref": "#/definitions/MyGame_Sample_Color"
}
},
"additionalProperties": false
}
},
"$ref": "#/definitions/MyGame_Sample_Monster"
}

输出 :
namespace MyGame.Sample;
enum Color:byte { Red = 0, Green, Blue = 2 }
table Monster {
mana:short = 150;
hp:short = 100;
name:string;
friendly:bool = false (deprecated);
inventory:[ubyte]; // Vector of scalars.
color:Color = Blue; // Enum.
}
root_type Monster;

我知道可以使用相反的方式。但我不知道如何将 JSON 模式转换为 flatbuffer 模式

最佳答案

我已经组装了一个简单的转换器,我将它与 genson 输出一起使用,并取得了不同程度的成功。不过,这可能是一个很好的起点:
https://gist.github.com/romanbsd/da181151170e396e8e36a6576f045aa2

关于flatbuffers - 将 json 模式转换为 flatbuffer 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49692148/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com