我得到的 json 看起來像這樣:
{"-N42h_BKjWaEZRJyH8vS":[{"Data":"06/2022","imie":"John","DayList":[["7.50","12.00"],["00.00","00.00"],["8.00","16.00"],["00.00","00.00"],["00.00","00.00"],["7.50","15.00"],["00.00","00.00"],["00.00","00.00"],["00.00","00.00"],["8.00","15.25"],["00.00","00.00"],["00.00","00.00"],["7.50","15.00"],["00.00","00.00"]],"surname":"Smith"}]}
“DayList”中的每個串列代表單獨的作業日。例如 ["7.50","12.00"] 只是說,作業時間從 7.30 開始,到 12 結束。每天索引也代表一個月中的一天 例如索引 0 是 01/06/2022,索引 1 是 02/06/ 2022 年等等。整個串列附加到一個人,在本例中為 John Smith。
我的 Day 模型如下所示:
class Day {
String name;
DateTime dateTime;
double startTime;
double endTime;
Day({
required this.name,
required this.dateTime,
required this.startTime,
required this.endTime,
});
}
任何人都知道如何基于這個 json 創建物件串列?也許有更好的方法來創建這樣的 json?
uj5u.com熱心網友回復:
class DayDatum {
DayDatum({
this.data,
this.imie,
this.dayList,
this.surname,
});
String data;
String imie;
List<List<String>> dayList;
String surname;
factory DayDatum.fromJson(Map<String, dynamic> json) => DayDatum(
data: json["Data"],
imie: json["imie"],
dayList: List<List<String>>.from(json["DayList"].map((x) => List<String>.from(x.map((x) => x)))),
surname: json["surname"],
);
Map<String, dynamic> toJson() => {
"Data": data,
"imie": imie,
"DayList": List<dynamic>.from(dayList.map((x) => List<dynamic>.from(x.map((x) => x)))),
"surname": surname,
};
}
您可以使用此模型來決議每個物件的資料
uj5u.com熱心網友回復:
請檢查以下鏈接以獲取 json 決議器。 https://docs.flutter.dev/development/data-and-backend/json#setting-up-json_serializable-in-a-project
如果您有任何疑問,請告訴我。
uj5u.com熱心網友回復:
import 'dart:convert';
Data dataFromJson(String str) => Data.fromJson(json.decode(str));
String dataToJson(Data data) => json.encode(data.toJson());
class Data {
Data({
this.listOfDays,
});
List<personalInfo>? listOfDays;
factory Data.fromJson(Map<String, dynamic> json) => Data(
listOfDays: List<personalInfo>.from(json["-N42h_BKjWaEZRJyH8vS"]
.map((x) => personalInfo.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"-N42h_BKjWaEZRJyH8vS":
List<dynamic>.from(listOfDays!.map((x) => x.toJson())),
};
}
class personalInfo {
personalInfo({
this.data,
this.imie,
this.dayList,
this.surname,
});
String? data;
String? imie;
List<List<String>>? dayList;
String? surname;
factory personalInfo.fromJson(Map<String, dynamic> json) =>
personalInfo(
data: json["Data"],
imie: json["imie"],
dayList: List<List<String>>.from(
json["DayList"].map((x) => List<String>.from(x.map((x) => x)))),
surname: json["surname"],
);
Map<String, dynamic> toJson() => {
"Data": data,
"imie": imie,
"DayList": List<dynamic>.from(
dayList!.map((x) => List<dynamic>.from(x.map((x) => x)))),
"surname": surname,
};
}
您也可以使用此站點直接創建模型
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/487746.html
