code_build
(https://pub.dartlang.org/packages/code_builde)包提供了一种生成类以及该类的构造函数,字段和方法的解决方案。
我的最终目标是根据给定的json结构生成Flutter(https://flutter.io)小部件,但我不知道如何使用code_build
或其他软件包来实现此目的。
因此,我们将不胜感激!
答案 0 :(得分:3)
编写输出Dart代码的东西的一般方法是将功能包装在Builder
中,并使用build_runner
进行代码生成
从总体上讲,您会写一个Builder
:
buildExtensions
中的{".json": [".dart"]}
。buildStep.inputId
资产并解析json。code_builder
构建字符串,然后将其写入输出资产。然后您将configure the builder in build.yaml
。并且可以将其手动应用于您的程序包,或者如果您希望将其作为实用程序发布,它可以应用于依赖项。
您的软件包将在dev_dependency
上有一个build_runner
,然后您可以使用flutter packages run build_runner build
执行构建。
https://github.com/dart-lang/build/tree/master/docs
上有更多文档您可以看到一个类似的软件包示例-以yaml文件开头,并在https://github.com/natebosch/message_builder使用code_builder
输出Dart文件
答案 1 :(得分:0)
现在有一个在线工具,如果您只想构建模型类,它将从JSON有效负载生成Dart类。它不会在运行时动态地执行此操作,但是在您首次构建程序时非常有帮助。