flatbuffers 可以解析 json 给定的生成类型吗?
Can flatbuffers parse json given a generated type?
使用flatc
生成类型后,是否可以将JSON的字符串解析成这种类型?
在documentation中可以看到
This works similarly to how the command-line compiler works: a sequence of files parsed by the same Parser object allow later files to reference definitions in earlier files. Typically this means you first load a schema file (which populates Parser with definitions), followed by one or more JSON files.
并且 sample_text.cpp
中有 sample code
ok = parser.Parse(schemafile.c_str(), include_directories) &&
parser.Parse(jsonfile.c_str(), include_directories);
但是,这意味着我必须将原始 .fbs
模式文件与我的应用程序一起分发。由于我已经在构建时使用 flatc
生成了 C++ 类型,我可以将 JSON 字符串解析为这种类型而不必在运行时再次解析架构吗?
不,您目前不能。生成的代码中没有JSON解析代码。
虽然解析模式非常快,但您可以重复使用已为多个 JSON 文件解析了模式的 Parser
对象。
使用flatc
生成类型后,是否可以将JSON的字符串解析成这种类型?
在documentation中可以看到
This works similarly to how the command-line compiler works: a sequence of files parsed by the same Parser object allow later files to reference definitions in earlier files. Typically this means you first load a schema file (which populates Parser with definitions), followed by one or more JSON files.
并且 sample_text.cpp
ok = parser.Parse(schemafile.c_str(), include_directories) &&
parser.Parse(jsonfile.c_str(), include_directories);
但是,这意味着我必须将原始 .fbs
模式文件与我的应用程序一起分发。由于我已经在构建时使用 flatc
生成了 C++ 类型,我可以将 JSON 字符串解析为这种类型而不必在运行时再次解析架构吗?
不,您目前不能。生成的代码中没有JSON解析代码。
虽然解析模式非常快,但您可以重复使用已为多个 JSON 文件解析了模式的 Parser
对象。