Построение модели для ответа API Xml2Json

#json #flutter #dart

#json #трепетать #дротик

Вопрос:

Я вызываю XMl API базы данных

Затем я преобразую его с Xml2Json помощью, чтобы затем декодировать и получить a JsonMap , который хорошо возвращается.

Когда я затем перейду к do locations.fromJson , чтобы иметь возможность вызывать данные из моей модели, это возвращается как null .

Я предполагаю, что преобразование из XML может усложниться, но я перепробовал все возможности, проанализировав весь ответ, раздел, который мне нужен, и изменив модель всеми возможными способами.

Данные возвращаются нормально , как Json , но при их анализе с помощью моей модели возникает некоторое несоответствие, сделанное с помощью quicktype.io

Когда я вызываю его каким-либо образом, будь то print поиск данных или извлечение данных, он возвращается в null vehicleActivity

Этот звонок

 Futurelt;Locationsgt; fetchLiveLocations() async {  var client = http.Client();  var locations;  Xml2Json xml2Json = new Xml2Json();      try{  var response = await client.get(  'https_call');   if (response.statusCode == 200) {  xml2Json.parse(response.body);  var jsonString = xml2Json.toGData();  var jsonMap = json.decode(jsonString);  //jsonMap is returning fine   locations = Locations.fromJson(jsonMap);  //Returning as null   }  } catch(Exception) {  return locations;  }   return locations;  }   

Верхняя часть модели Json

 import 'dart:convert';  Locations locationsFromJson(String str) =gt; Locations.fromJson(json.decode(str));  String locationsToJson(Locations data) =gt; json.encode(data.toJson());  class Locations {  Locations({  this.vehicleActivity,  });   Listlt;VehicleActivitygt; vehicleActivity;   factory Locations.fromJson(Maplt;String, dynamicgt; json) =gt; Locations(  vehicleActivity: Listlt;VehicleActivitygt;.from(json["VehicleActivity"].map((x) =gt; VehicleActivity.fromJson(x))),  );   Maplt;String, dynamicgt; toJson() =gt; {  "VehicleActivity": Listlt;dynamicgt;.from(vehicleActivity.map((x) =gt; x.toJson())),  }; }  class VehicleActivity {  VehicleActivity({  this.recordedAtTime,  this.itemIdentifier,  this.validUntilTime,  this.monitoredVehicleJourney,  this.extensions,  });   DateTime recordedAtTime;  String itemIdentifier;  DateTime validUntilTime;  MonitoredVehicleJourney monitoredVehicleJourney;  Extensions extensions;   factory VehicleActivity.fromJson(Maplt;String, dynamicgt; json) =gt; VehicleActivity(  recordedAtTime: DateTime.parse(json["RecordedAtTime"]),  itemIdentifier: json["ItemIdentifier"],  validUntilTime: DateTime.parse(json["ValidUntilTime"]),  monitoredVehicleJourney: MonitoredVehicleJourney.fromJson(json["MonitoredVehicleJourney"]),  extensions: Extensions.fromJson(json["Extensions"]),  );