我的目标是将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;