gpt4 book ai didi

Flutter 在向服务器发送数据时出现 _InternalLinkedHashMap 错误

转载 作者:IT王子 更新时间:2023-10-29 06:36:49 28 4
gpt4 key购买 nike

在创建两个类来创建这个 json 结构之后:

{
"data": [
{
"staff_id": "1111",
"class_id": "222222",
"enter_date": "33333333",
"exit_date": "4444444444444"
}
]
}

我没有任何问题,但是当我尝试将此结构发送到服务器时出现错误:

getting erorr type '_InternalLinkedHashMap' is not a subtype of type 'Map'

我的 json 结构类:

@JsonSerializable()
class RestData {
final List<Data> data;

RestData(this.data);

factory RestData.fromJson(Map<String, dynamic> json) => _$RestDataFromJson(json);

Map<String, dynamic> toJson() => _$RestDataToJson(this);
}

@JsonSerializable()
class Data {
@JsonKey(name: 'staff_id')
String staffId;

@JsonKey(name: 'class_id')
String classId;

@JsonKey(name: 'enter_date')
String enterDate;

@JsonKey(name: 'exit_date')
String exitDate;

Data(this.staffId, this.classId,this.enterDate, this.exitDate);

factory Data.fromJson(Map<String, dynamic> json) => _$DataFromJson(json);
Map<String, dynamic> toJson() => _$DataToJson(this);
}

制作数据并发送到服务器:

List<Data> list = [];
list.add(Data('1111', '222222', '33333333', '4444444444444'));

RestData restData = RestData(list);

print(json.encode(restData.toJson()));

/*result of print: {"data":[{"staff_id":"1111","class_id":"222222","enter_date":"33333333","exit_date":"4444444444444"}]}*/


Map userHeader = {"Content-type": "application/json", "Accept": "application/json"};

final response = await http
.post('http://sample.com', body: json.encode(restData.toJson()), headers: userHeader)
.timeout(Duration(seconds: 60));

if (response.statusCode == 200) {
return true;
} else {
return false;
}

最佳答案

这很可能是因为 header - 它们需要属于 Map<String, String> 类型但是您只是将它们定义为 Map,因此 Dart 会为您分配给它的值选择最有效的 Map 类型,最终为 _InternalLinkedHashMap。由于某种原因,它不是 Map<String, String> 的子类型.我想说得更具体一些,但是在 Flutter SDK 中搜索“_InternalLinkedHashMap”没有得到任何结果,所以我不知道实现细节。

关于Flutter 在向服务器发送数据时出现 _InternalLinkedHashMap 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57377689/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com