在下面的情况下,这如何工作?
我尝试了很多方法,但我只是想不通。
另外,如何加载本地json文件并使用它的keys:values作为类?
class Countries{
int id;
String name;
Countries(this.id,this.name);
static Future<List<Countries>> getJsonCountries() async {
String apiUrl = "https://gist.githubusercontent.com/keeguon/2310008/raw/bdc2ce1c1e3f28f9cab5b4393c7549f38361be4e/countries.json";
http.Response resp = await http.get(apiUrl);
return json.decode(resp.body);
}
static List<Countries> getCountries() {
List<Countries> ls = getJsonCountries() as List<Countries>; // Idk why this does not work ..
return ls;
// return <Countries>[ <-- this works fine ...
// Countries(1,'Morocco'),
// Countries(2,'France'),
// Countries(3,'USA'),
// Countries(4,'Tunisia'),
// ];
}
}
最佳答案
您的json文件格式不正确。字符串应用双引号引起来。这将立即阻止您解析Dart / Flutter中的json。值和键都必须用双引号括起来,以便Dart解析。
您可以自己检查它,方法是将json复制粘贴到此处并进行测试:https://jsonformatter.curiousconcept.com/
关于json - 如何获取|在Flutter中将json数据加载到List <myClass>确实可以吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59688929/