Json 颤振错误:参数类型';动态';can';不能分配给参数类型';Iterable<;动态>';
请帮忙。 我正在尝试使用JSON到Dart工具创建一个模型 其目的是从JSON API检索所有公司(及其属性)的列表 我得到以下错误:Json 颤振错误:参数类型';动态';can';不能分配给参数类型';Iterable<;动态>';,json,flutter,dart,restapi,Json,Flutter,Dart,Restapi,请帮忙。 我正在尝试使用JSON到Dart工具创建一个模型 其目的是从JSON API检索所有公司(及其属性)的列表 我得到以下错误: 无法将参数类型“dynamic”分配给参数类型映射 无法将参数类型“dynamic”分配给参数类型Iterable 无法将参数类型“dynamic”分配给参数类型Int 请参考下图。 谢谢。我已经测试了这个类,它可以正常工作 import 'dart:convert'; CompanyModel companyModelFromJson(String s
- 无法将参数类型“dynamic”分配给参数类型映射
- 无法将参数类型“dynamic”分配给参数类型Iterable
- 无法将参数类型“dynamic”分配给参数类型Int
谢谢。我已经测试了这个类,它可以正常工作
import 'dart:convert';
CompanyModel companyModelFromJson(String str) => CompanyModel.fromJson(json.decode(str));
String companyModelToJson(CompanyModel data) => json.encode(data.toJson());
class CompanyModel {
CompanyModel({
this.companies,
});
List<Company> companies;
factory CompanyModel.fromJson(Map<String, dynamic> json) => CompanyModel(
companies: List<Company>.from(json["companies"].map((x) => Company.fromJson(x))),
);
Map<String, dynamic> toJson() => {
"companies": List<dynamic>.from(companies.map((x) => x.toJson())),
};
}
class Company {
Company({
this.id,
this.name,
});
int id;
String name;
factory Company.fromJson(Map<String, dynamic> json) => Company(
id: json["id"],
name: json["name"],
);
Map<String, dynamic> toJson() => {
"id": id,
"name": name,
};
}
导入'dart:convert';
CompanyModel companyModelFromJson(String str)=>CompanyModel.fromJson(json.decode(str));
字符串companyModelToJson(companyModelData)=>json.encode(data.toJson());
类公司模型{
公司模型({
这是一些公司,
});
上市公司;
工厂CompanyModel.fromJson(映射json)=>CompanyModel(
公司:List.from(json[“companys”].map((x)=>Company.fromJson(x)),
);
映射到JSON()=>{
“公司”:List.from(companys.map((x)=>x.toJson()),
};
}
阶级公司{
公司({
这个身份证,
这个名字,
});
int-id;
字符串名;
工厂公司.fromJson(映射json)=>公司(
id:json[“id”],
名称:json[“名称”],
);
映射到JSON()=>{
“id”:id,
“姓名”:姓名,
};
}
作为替代方案,您可以从以下位置使用此代码:
class公司模型{
上市公司;
CompanyModel({this.companys});
CompanyModel.fromJson(映射json){
if(json['companys']!=null){
公司=新列表();
json['companys'].forEach((v){
companys.add(newcompanys.fromJson(v));
});
}
}
映射到JSON(){
最终地图数据=新地图();
如果(this.companys!=null){
data['companys']=this.companys.map((v)=>v.toJson()).toList();
}
返回数据;
}
}
阶级公司{
int-id;
字符串名;
公司({this.id,this.name});
companys.fromJson(映射json){
id=json['id'];
name=json['name'];
}
映射到JSON(){
最终地图数据=新地图();
数据['id']=this.id;
数据['name']=this.name;
返回数据;
}
}
您能发布json响应吗?{“公司”:[{“id”:19,“名称”:“股权”},{“id”:1,“名称”:“国王糕点”},{“id”:5,“名称”:“索纳斯”}谢谢。不过我应该提到,我也测试了JsonToDart。您正在运行哪个颤振版本?我想知道这是否与我的版本有关。我正在使用:颤振2.0.3省道2.12.2
class CompanyModel {
List<Companies> companies;
CompanyModel({this.companies});
CompanyModel.fromJson(Map<String, dynamic> json) {
if (json['companies'] != null) {
companies = new List<Companies>();
json['companies'].forEach((v) {
companies.add(new Companies.fromJson(v));
});
}
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
if (this.companies != null) {
data['companies'] = this.companies.map((v) => v.toJson()).toList();
}
return data;
}
}
class Companies {
int id;
String name;
Companies({this.id, this.name});
Companies.fromJson(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['name'] = this.name;
return data;
}
}