我使用 fromJson 方法從 Json 解碼 http 請求中恢復帶有 List 的 Struct 并在我的類上接收它,但現在我想做一個反向操作,我想將我的類上的資料傳遞給我的 toJson 方法并將他發送到一個 Json 編碼 http POST。拜托,我是 Dart/Flutter 的新手,有人知道該怎么做嗎?
import 'dart:convert';
List<Itens> userFromJson(String str) =>
List<Itens>.from(jsonDecode(str).map((x) => Itens.fromJson(x)));
class Coletas {
final int codigo;
final String dataIni;
late String? dataFin;
late String? status;
final List<Itens> itemList;
Coletas(
{
required this.dataIni,
this.dataFin,
this.status,
required this.codigo,
required this.itemList
}
);
factory Coletas.fromJson(Map<String, dynamic> json) {
return Coletas(
dataIni: json['dtData'],
codigo: json['iCodigo'],
itemList: List<Itens>.from(json['stItens'].map((x) => Itens.fromJson(x))),
);
}
Map<String, dynamic> toMap() {
return {
'codigo': codigo,
'dataIni': dataIni,
'dataFin': dataFin,
'status': status
};
}
}
class Itens {
final int? id;
final int codigo;
late int quantidade;
late String? status;
final String codigoEAN;
Itens({
this.id,
this.status,
required this.codigo,
required this.codigoEAN,
required this.quantidade,
});
Map<String, dynamic> toJson(){
return {
'icodigo' : codigo,
'sCodigoBarras': codigoEAN,
'iQtd': quantidade
};
}
factory Itens.fromJson(Map<String, dynamic> json) {
return Itens(
codigo: json['iCodigo'],
codigoEAN: json['sCodigoBarras'],
quantidade: json['iQtd'],
);
}
Map<String, dynamic> toMap() {
return {
'id': id,
'status': status,
'codigo': codigo,
'codigoEAN': codigoEAN,
'quantidade': quantidade,
};
}
}
我試圖通過 List separeted 上的任何專案,但沒有發生我的預期。
Map<String, dynamic> toJSon(Coletas value) =>
{
'dtData' : dataIni,
'iCodigo': codigo,
'stItens': [],
};
uj5u.com熱心網友回復:
要獲得更好的結構格式和使用,您可以查看顫振序列化檔案:https ://docs.flutter.dev/development/data-and-backend/json 。
它解釋了如何創建模型以及如何生成它們以根據定義的資料創建 fromJson 和 toJson 模型。(https://docs.flutter.dev/development/data-and-backend/json#creating-model-classes-the-json_serializable-way)
它將幫助您決議 - 發送 - 接收資料。
uj5u.com熱心網友回復:
我認為你應該指定Coletas為
Map<String, dynamic> toJSon(Coletas value) =>
{
'dtData' : value.dataIni,
'iCodigo': value.codigo,
'stItens': value.itemList,
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/527193.html
標籤:扑镖
下一篇:如何在顫動中為按鈕添加功能?
