Поддерживает ли Sqflite сохранение пользовательских типов объектов? - PullRequest
2 голосов
/ 17 июня 2019

Как сохранить этот тип NetworkList и Map в базе данных Sqflite? Я не знаю, какой должен быть точный тип в столбце таблицы?

 @JsonSerializable()
 class NetworkResponseData {
 @JsonKey(name: "status")
 String status;
 @JsonKey(name: "language")
 Map<String, String> language;
 @JsonKey(name: "networks")
 NetworkList networkList;


 NetworkResponseData(this.status, this.language, this.networkList,
  this.siteUrlMap);


}

@JsonSerializable()
class NetworkList {
@JsonKey(name: "en")
List<Map<String, String>> en;
@JsonKey(name: "fr")
List<Map<String, String>> fr;
@JsonKey(name: "ge")
List<Map<String, String>> ge;
@JsonKey(name: "sp")
List<Map<String, String>> sp;

NetworkList(this.en, this.fr, this.ge, this.sp);

}

1 Ответ

1 голос
/ 18 июня 2019

так что вы ищете сериализацию вашего объекта во Flutter?. Во Flutter вы можете сделать это, импортировав dart: convert и используя методы jsonEncode / jsonDecode;

Вы можете сделать это вручную, например:модель.

class DoughnutModel {

 String Name;
 String Filling;
 String Topping;
 Double Price;
 }

Создать объект-пончик очень просто:

DoughnutModel myDoughnut = new DoughnutModel("Glazed", "None", "Sprinkles", 2.99);

И теперь мы можем его сериализовать с помощью jsonEncode:

String encodedDoughnut = jsonEncode(myDoughnut); //you can now store this string in the shared preferences or local storage.

И получить ваш объект с помощью Decodingкак это:

Map<String, dynamic> decodedDoughnut = jsonDecode(encodedDoughnut);

Примеры и концепции взяты из этой ссылки: https://medium.com/flutter-community/serializing-your-object-in-flutter-ab510f0b8b47

...