发生飞镖异常。_CastError(类型"字符串"不是类型转换中类型"int"的子类型)错误



我的目标是将json文件转换为对象列表。但它总是失败。我的错误的解决方法是什么?我的目标是使用Dart在桌面应用程序中通过json文件存储数据。

class Tablo {
final String tId;
final String tobloIsim;

Tablo(this.tId, this.tobloIsim);

factory Tablo.fromJson(dynamic json) {
return Tablo(json['id'], json['projeAdi']); //Error line
}

Map<String, dynamic> toJson() => {
'id': tId,
'projeAdi': tobloIsim,
};
}

//The function from which this error occurs
removeJson(Tablo silinecekTablo) {
String cont = File("tablolar.json").readAsStringSync();
List<dynamic> l = jsonDecode(cont);
List<dynamic> liste = List<dynamic>.from(l.map((e) => Tablo.fromJson(cont)));
print("Tam Liste : " + liste.toString());

for (int i = 0; i < liste.length; i++) {
if (liste[i] == silinecekTablo) {
liste.remove(liste[i]);
}
}


List<dynamic> silinmisListe = liste;
String yeniTablo = jsonEncode(silinmisListe);
File file = new File("tablolar.json");

file.writeAsStringSync(yeniTablo);
print("Silindi" + silinmisListe.toString());
}

在你的json文件。是"id"int类型?像

{
"id": 0 ,
"projeAdi":"some string"
}

不同于

{
"id": "0" ,
"projeAdi":"some string"
}

如果是第一个,则需要更改

final String tId;

final int tId;

最新更新