gpt4 book ai didi

flutter - 卡住和 json_serializable : How to use a custom converter

转载 作者:行者123 更新时间:2023-12-04 13:27:51 25 4
gpt4 key购买 nike

我想将自定义转换器添加到卡住类中,例如 this answer .
我用这个代码试了一下:

@freezed
class NewsPost with _$NewsPost {
factory NewsPost({
@JsonKey(name: "date") @TimestampConverter() DateTime? date,
}) = _NewsPost;

factory NewsPost.fromJson(Map<String, dynamic> json) =>
_$NewsPostFromJson(json);
}
但它没有用。任何想法都非常受欢迎!
为了您的兴趣,这是我的转换器:
class TimestampConverter implements JsonConverter<DateTime, Timestamp> {
const TimestampConverter();

@override
DateTime fromJson(Timestamp timestamp) {
return timestamp.toDate();
}

@override
Timestamp toJson(DateTime date) => Timestamp.fromDate(date);
}
谢谢 :-)

最佳答案

嗯,这不是最优雅的解决方案,但它有效。

@freezed
class NewsPost with _$NewsPost {
factory NewsPost({
@JsonKey(
name: "date",
fromJson: dateTimeFromJson,
fromJson: dateTimeToJson,
) DateTime? date,
}) = _NewsPost;

factory NewsPost.fromJson(Map<String, dynamic> json) =>
_$NewsPostFromJson(json);
}


DateTime dateTimeFromJson(Timestamp timestamp) {
return timestamp.toDate();
}

Timestamp dateTimeToJson(DateTime date) => Timestamp.fromDate(date);
我认为这是一个解决方案。使用 JsonConverter 我无法让它工作。

关于flutter - 卡住和 json_serializable : How to use a custom converter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67150713/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com