Как приводить типы с помощью json_serializable в Dart
Есть ли способ передать двойное значение из json в поле int с помощью json_serializable для генерации кода? Может быть, аннотация? Сам пока не нашел ничего подобного.
Из json вот так
{
"number": 1.0,
...
}
Чтобы так учиться
class MyClass {
final int number;
...
}
1 ответ
Вы можете использовать какое-либо расширение vsCode или Android Studio или сопоставить ключ с классом
Нравиться
import 'dart:convert';
SampleClass sampleClassFromJson(String str) => SampleClass.fromJson(json.decode(str));
String sampleClassToJson(SampleClass data) => json.encode(data.toJson());
class SampleClass {
SampleClass({
this.number,
});
final int number;
factory SampleClass.fromJson(Map<String, dynamic> json) => SampleClass(
number: json["number"] == null ? null : json["number"],
);
Map<String, dynamic> toJson() => {
"number": number == null ? null : number,
};
}
Большую часть времени я использую https://app.quicktype.io, этот сайт генерирует код с минимальной модификацией