<Object> 从 Flutter Dart 中的 netcore 服务器 api 列表转换



我正在尝试将对象列表(Flutter中的List<Object>(转换为Flutter项目中定义的类型(类(。我已经尝试过转换列表的例子,如Flutter中序列化您的对象所示。每次我得到Map<String, dynamic>都不是List<dynamic>的一个子型。但尝试了一些不同的、相同的错误。Posted是后者的示例代码,而不是Flutter中序列化对象的示例代码。有没有实现这一目标的替代方案?非常感谢您的回复[更新]

自定义对象

@JsonSerializable(explicitToJson: true)
class Activity{
String id;
String name;
double amount;
Activity({ this.amount, this.name , this.id});  
Activity.fromJson(Map<String, dynamic> json){ 
id = json["id"];
name = json["name"];
amount = json["amount"];
}
Map<String, dynamic> toJson() => {      
'id' : id,
'name' : name,
'amount' : amount,
};
}

样品颤振屏幕

initiateConnection(){
var builder = HubConnectionBuilder();
this._hubConnection = builder.withUrl("##########################").build();
_hubConnection.onclose( (error) => print("Connection Closed"));
this._hubConnection.on("Activities", formActivityDashboard );
this._hubConnection.start().then((data) => print("Connected"));
}
formActivityDashboard(List<Object> data){
final items = (data).map((i) => new Activity.fromJson(i));
for (final item in items) {
print(item.id);
}
}
List<dynamic>ActivityList=json.decode(response.body);
List<Activity> myActivityList = new List();
for(int i=0;i<ActivityList.length;i++)
{
Map<String, dynamic>ActivityData = ActivityList.elementAt(i);
Activity act=new Activity();
act.id=ActivityData['id']
act.name=ActivityData['name']
act.amount=ActivityData['amount']
myActivityList.add(act);
}

最新更新