gpt4 book ai didi

c# - 使用 JSON 序列化作为持久化机制而不是 RDB

转载 作者:行者123 更新时间:2023-11-30 19:51:28 25 4
gpt4 key购买 nike

我正在考虑在我的下一个项目中丢弃我的数据库以简化开发/演进。

实现它的一种方法是根本不离开对象领域并通过某种序列化持久化我的对象。能够在应用程序关闭时编辑初始对象状态会很好,因此像 JSON 这样的格式会很棒。

问题是 JSON 工具(如 Java Jackson),或者更确切地说 JSON 本身,无法保留引用,所以在反序列化对象图之后,我可以获得比序列化之前更多的实例 - 每个引用都指向同一个对象获取新实例。

我注意到了 JSPON但它似乎没有生命。

您如何看待这种方法 - 是不是太简单了以至于不可能?或者也许我应该使用一些 OODB(尽管它会产生额外的配置开销,但我想保持简单)。

最佳答案

大多数简单可移植序列化器(xml、json、 Protocol Buffer )都是序列化器(不是图形序列化器),所以您会稍微看到这个问题...

您或许可以尝试使用不需要引用的 DTO 树?即代替:

Parent -(children)-> Child
<--(parent)--

你有(在 DTO 级别):

Parent {Key="abc"} -(child keys)-> {string}
Child {Key="def"} -(parent key)-> {string}

这应该可以与任何树序列化器一起使用;但它确实需要额外的(手动)处理。

有一些基于图形的序列化程序,例如 .NET 的 DataContractSerializer(启用图形模式;默认情况下禁用);但这是不可移植的。

关于c# - 使用 JSON 序列化作为持久化机制而不是 RDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1078879/

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