给定:我有两个相同类型的结构,符合 Codable 协议。结构可以是多级的(嵌套属性,当然也符合 Codable)。该类型在实现时是未知的,所以我认为它是通用的,符合 Codable。
一个对象是“base”(例如,从服务器接收),第二个(实际上是“base”的副本),但在应用程序内部进行了修改。
目的是:发送保存新数据的请求,但仅发送两个结构的“差异”。因此,只有不同的字段应该出现在结果 JSON 中。
为两个结构获取 JSON 字符串并使用它们进行操作的直接方法是可以理解的,但似乎是最后机会的方法......
我已经尝试过使用 Mirror 和递归的方法,但现在已经设法使其仅适用于第一级 - 在第二级嵌套上,我丢失了嵌套属性的类型(如果是结构或数组),并且无法转换那时就...
我想知道是否可以使用自定义编码器以某种方式制作它?
PS:泛型类型的所有属性都应该是可选的,所以不应该提供任何显式的初始化器。