如何从json结构生成Dart代码

如何从json结构生成Dart代码,dart,flutter,code-generation,Dart,Flutter,Code Generation,code_构建包提供了一个为该类生成类和构造函数、字段和方法的解决方案 我的最终目标是基于给定的json结构生成Flatter小部件,但我不知道如何使用code_构建或其他包来实现这一点 因此,我们将不胜感激 编写输出Dart代码的东西的一般方法是将功能包装在一个文件中,并使用 在较高的层次上,您可以编写一个生成器: 具有{.json:[.dart]}的buildExtensions。 读取buildStep.inputId资产并解析json。 使用代码生成器构建字符串,然后将其写入输出资源。

code_构建包提供了一个为该类生成类和构造函数、字段和方法的解决方案

我的最终目标是基于给定的json结构生成Flatter小部件,但我不知道如何使用code_构建或其他包来实现这一点


因此,我们将不胜感激

编写输出Dart代码的东西的一般方法是将功能包装在一个文件中,并使用

在较高的层次上,您可以编写一个生成器:

具有{.json:[.dart]}的buildExtensions。 读取buildStep.inputId资产并解析json。 使用代码生成器构建字符串,然后将其写入输出资源。 那你就要走了。或者手动将其应用于您的包,或者如果您希望将其作为实用程序发布,则可以将其应用于依赖项

您的包将对build\u runner具有dev\u依赖性,然后您可以使用flatter包运行build\u runner build来执行构建

网站上还有更多的文档


您可以看到一个具有类似功能的软件包示例—从yaml文件开始,并使用位于

的code_builder输出Dart文件编写输出Dart代码的软件包的一般方法是将功能包装在中,并使用

在较高的层次上,您可以编写一个生成器:

具有{.json:[.dart]}的buildExtensions。 读取buildStep.inputId资产并解析json。 使用代码生成器构建字符串,然后将其写入输出资源。 那你就要走了。或者手动将其应用于您的包,或者如果您希望将其作为实用程序发布,则可以将其应用于依赖项

您的包将对build\u runner具有dev\u依赖性,然后您可以使用flatter包运行build\u runner build来执行构建

网站上还有更多的文档


您可以看到一个包的示例,该包执行类似的操作-从yaml文件开始,使用code_builder输出Dart文件,位于

现在有一个在线工具,如果您只想构建模型类,它将从JSON负载生成Dart类。它不会在运行时动态执行,但在您第一次构建程序时非常有用


现在有一个在线工具,如果您只想构造模型类,它将从JSON负载生成Dart类。它不会在运行时动态执行,但在您第一次构建程序时非常有用