firebase - 如何使用 dart json_serializable 包序列化 GeoPoint
问题描述
我正在尝试使用以下软件包按距离过滤我的 Firestore 集合。
https://github.com/fluttercommunity/firestore_helpers
参考他们的示例,他们正在使用 jaguar_serializer 将从 Firestore 接收到的数据转换为 Location 类。我已经在我的应用程序中实现了他们的 getDataInArea 函数,但我目前被卡住了,因为我使用的是 json_serializable。
我环顾四周,发现如果在以下链接中使用 built_value,有一个关于如何处理 GeoPoint 的建议。
https://github.com/google/built_value.dart/issues/417#issuecomment-391661750
所以我想知道有没有办法实现类似 jaguar_serializer 和 built_value 中显示的内容,但使用 json_serializable 包。
我猜一种方法是使用@JsonKey(fromJson: , toJson: )
,但我不太确定如何去做。
解决方案
经过更多的挖掘并试图了解事情是如何运作的。我设法通过在课堂上写下以下内容来解决我的问题。
@JsonKey(fromJson: _fromJsonGeoPoint, toJson: _toJsonGeoPoint)
GeoPoint location;
static GeoPoint _fromJsonGeoPoint(GeoPoint geoPoint) {
return geoPoint;
}
static GeoPoint _toJsonGeoPoint(GeoPoint geoPoint) {
return geoPoint;
}
我想这个想法只是不对 GeoPoint 对象进行任何更改。无论如何,我很想听到这是正确的方法,或者有更好的方法来做到这一点。干杯!
推荐阅读
- openssl - 包含 openssl 时,cgo CFLAGS 不起作用
- utf-8 - Linux - GREP 打印带有特殊字符的行
- javascript - 关闭选项卡时不会调用 onbeforeunload
- java - 需要帮助来理解计数排序排序算法的实现
- python - 循环 smtp python 时更改电子邮件凭据
- python - 在 django/python 我的主页中仅列出三个元素
- java - 父类为子类定义静态类
- javascript - ngFor 和点击事件
- python - 在 Python 中从 YAML 创建自定义类的对象
- activemq-artemis - 在 broker.xml 文件中编写和通过 JMX 创建的队列之间的区别