我的问题是下一个:
在我的对象类中,声明下一个:
Data.fromJson(Map<String, dynamic> json) {
id: json['Id'];
EstadoVisitaId: json['EstadoVisitaId'];
NombreEstado: json['NombreEstado'];
UsuarioId: json['UsuarioId'];
NombreFuncionario: json['NombreFuncionario'];
ApellidoPaternoFuncionario: json['ApellidoPaternoFuncionario'];
ApellidoMaternoFuncionario: json['ApellidoMaternoFuncionario'];
EmailFuncionario: json['EmailFuncionario'];
ResponsableId: json['ResponsableId'];
NombreResponsable: json['NombreResponsable'];
ApellidoPaternoResponsable: json['ApellidoPaternoResponsable'];
ApellidoMaternoResponsable: json['ApellidoMaternoResponsable'];
NumeroDocumentoResponsable: json['NumeroDocumentoResponsable'];
ExtranjeroResponsable: json['ExtranjeroResponsable'];
TelefonoResponsable: json['TelefonoResponsable'];
FechaVisitaRealizada: json['FechaVisitaRealizada'];
HoraInicioVisitaRealizada: json['HoraInicioVisitaRealizada'];
HoraFinVisitaRealizada: json['HoraFinVisitaRealizada'];
Fecha: json['Fecha'];
HoraInicio: json['HoraInicio'];
HoraFin: json['HoraFin'];
OrganizacionId: json['OrganizacionId'];
OrgRut: json['orgRut'];
OrgDv: json['orgDv'];
OrgNombre: json['orgNombre'];
OrgEmail: json['orgEmail'];
ConcursoId: json['ConcursoId'];
ConNombre: json['conNombre'];
ConDescripcion: json['conDescripcion'];
ConAno: json['conAno'];
CodigoProyecto: json['CodigoProyecto'];
proNombreProyecto: json['proNombreProyecto'];
GeoDireccionId: json['GeoDireccionId'];
CoordenadaX: json['CoordenadaX'];
CoordenadaY: json['CoordenadaY'];
Direccion: json['Direccion'];
IdRegion: json['IdRegion'];
Comuna: json['Comuna'];
ProductoId: json['ProductoId'];
PrdNombre: json['prdNombre'];
PrdDescripcion: json['prdDescripcion'];
CodigoIdentificador: json['CodigoIdentificador'];
}
在我的班级Bloc中:
BehaviorSubject<List<Data>> _cardsCollection = BehaviorSubject<List<Data>>();
VisitaAsignada post;
List<dynamic> _cardResults;
Stream<List<Data>> get cardList => _cardsCollection.stream;
因此,当收到我的JSON答案时:
final response =
await http.post(url,headers:{ "Content-Type": "application/json" } ,encoding: Encoding.getByName("utf-8")); //
if (response.statusCode == 200) {
Map<String, dynamic> map = json.decode(response.body);
_cardResults = map["Datos"] as List;
if (_cardResults==null) {
return 'ERROR';
}else{
//Here is where cast my object type "List<dynamic> _cardResults".
List<Data> tipoData = _cardResults.cast<Data>();
_cardsCollection.sink.add(tipoData);
return 'OK';
}
} else {
throw Exception('Failed to load post');
}
}
}
最后,在我看来:
return StreamBuilder<List<Data>>(
stream: cardListBloc.cardList,
builder: (context, AsyncSnapshot<List<Data>> snapshot) {
if (snapshot.data == null || snapshot.data.isEmpty){
return Center(
child: CircularProgressIndicator(),
);
}
final plays = snapshot.data;
if (plays.length == 0) {
return Center(
child: Text('No records[enter image description here][1]'),
);
}
return Scaffold(
appBar: _buildBar(context),
body: ListView.builder(
itemCount: plays.length,
scrollDirection: Axis.vertical,
itemBuilder: (context, index) =>ListTile(
title: Text(plays[index].proNombreProyecto),
subtitle: Text(plays[index].CodigoProyecto.toString()),
trailing: Icon(
Icons.keyboard_arrow_right,
color: Colors.green,
),
onTap: () => null,
)
),
);
}
);
错误:
小部件库捕获到异常 下面的_CastError被抛出: 类型“ _InternalLinkedHashMap”不是类型转换中“数据”类型的子类型