如下图,使用FlutterJsonBeanFactory工具生成的数据类
就挺奇怪的,同事的项目能够正常生成,我的不行,不知道是哪个步骤出现了问题
但是其中 生成的 import 'package:null/,导致的错误:Target of URI doesn’t exist: ‘package:null/generated/json/asd.g.dart’
尝试过的方法:
- 手动添加包名,但是不起效果,不知道什么问题以及如何解决
最终解决:
看官方文档或者直接看下面的步骤:https://flutter.cn/docs/development/data-and-backend/json#serializing-json-using-code-generation-libraries
步骤如下:
- 将json文件里面的内容复制到这个工具里面:https://caijinglong.github.io/json2dart/index_ch.html
- 根据网页提示的信息来创建文件,可以直接将内容复制到创建的文件里面,或者下载拉进去
- 然后在项目里面打开命令终端,输入如下命令(注意要在项目的当前路径):flutter pub run build_runner watch
- 之后便会自行生成 xxx.g.dart 文件,文件也不报错了
当我第二次在别的项目尝试的时候,出现了问题??? 为啥呢?
执行命令: flutter pub run build_runner watch
出现的错误:Flutter assets will be downloaded from https://storage.flutter-io.cn. Make sure you trust this source!
Deprecated. Use dart run
instead.
Could not find a file named “pubspec.yaml” in “E:\xxx\SDK\FlutterCache\hosted\pub.flutter-io.cn\file_selector_linux-0.9.2+1”.
上面的意思是说:要在正确的路径下执行,以及没有那些缓存文件
通过 pwd 命令来查看,发现路径是正确的,通过看日志,发现是file_selector_linux ?,
全局搜索这个东西,是在pubspec.lock里面的,当时创建项目的时候,没有取消 linux ,windos,
这些勾选啥的,我也不需要这些东西,所以注释掉,成功运行,运行之后,会自动取消注释的,
至此,神功已成,冲啊,继续敲代码。