是否有一种表达式语言可以从平面缓冲区中查询(使用 JAVA)?

Is there an expression language to query from flatbuffers (using JAVA)?

我在 Java 中生成了一个平面缓冲区对象。我需要在运行时根据用户输入查询一个字段。有办法吗?

目前无法动态查询 Java 中的字段,您必须静态知道字段的名称才能检索其值。所以你能做的最好的是 if (user_input == "field") return obj.field().

有一种方法可以通过检查二进制模式文件(可以使用 flatc --schema myschema.fbs 生成)来动态找出模式中的字段。可悲的是,Java 中没有反射帮助程序代码,但允许您使用该信息读取实际字段(目前仅限 C++)。