错误:org-dartlang-debug:synthetic_debug_expression:1:1:错误:未定义名称“数据”。 数据是列表 调试时 这条路是真的 这是我的代码
导入'包:flutter/material.dart'; 导入'包:flutter/services.dart';
类 SharedPref 扩展 StatefulWidget { const SharedPref({super.key});
@覆盖 状态 createState() => _SharedPrefState(); }
类 _SharedPrefState 扩展状态 { 无效 readCountryCode() 异步 { 变量数据= 等待 rootBundle.loadString('assets/local_files/country_code.json'); 打印(数据); 打印('对象'); }
@覆盖 小部件构建(BuildContext上下文){ 返回脚手架( 身体:中心( 子: Image.asset('images/logo.png'), ), ); } }
我尝试从json读取数据
异步操作不会立即完成。当您等待数据时,将执行以下几行。因此,数据是未定义的。异步计算不会阻止您的代码执行。
请尝试以下操作:
Future<List> readCountryCode() async {
var data =
await rootBundle.loadString('assets/local_files/country_code.json');
return data;
}
print(readCountryCode());
正如您所提到的,我已将未来的返回类型指定为 List。
FYR - https://api.flutter.dev/flutter/dart-async/Future-class.html
希望这有帮助!