Flutter Hive:TypeAdapter 与保存为 json 字符串?

lxk*_*vlk 7 flutter flutter-hive

我了解到,使用 flutter 中的 hive 数据库可以将自定义对象存储为 json 字符串。然后可以选择编写一个自定义类型适配器,以二进制格式存储数据。

那么,当开发人员只需以 json 字符串格式存储自定义对象时,为什么需要花费更多时间来实现类型适配器呢?

小智 0

虽然 JSON 字符串更容易实现并且需要的代码更少,但它比 TypeAdapter 慢得多,因为来回转换需要一些时间。此外,JSON字符串无法保证类型安全,在操作数据和转换过程时会导致运行时容易出错。但是,如果 JSON 字符串只是标准键值对,则应考虑 JSON 字符串。最后但并非最不重要的一点是,编写 TypeAdapter 是首选,因为它可以处理干净的代码设计,并且可以存储具有类型安全保证的复杂数据结构。此外,开发人员对数据有更多的控制权,因为他们可以看到实施过程中出现的问题。