一个用于比较 JSON 的 Swift 库。
将以下内容添加到你项目的 Package.swift 包描述中
.package(url: "https://github.com/neallester/JSONEquality.git", .branch("master")),
请参阅 JSONEquality.swift。
某些 swift Dictionary 对象被序列化为 String 值数组。不幸的是,序列化表示形式和 Dictionary 的相等语义是不同的。也就是说,[String] 中元素的顺序是严格有意义的。然而,当反序列化为 Dictionary 时,数组中键/值对的顺序是没有意义的。JSONEquality 当前将序列化输出作为 [String] 进行比较,因此可能会报告两个表示形式不相等,而实际上它们会反序列化为语义上等效的 Dictionary。
权宜之计: 要在包含以这种方式序列化的 Dictionary 的对象上使用 JSONEquality,请确保所有此类 Dictionary 为空或仅包含一个键/值对。
不检测 JSON 对象内的重复属性值。用于比较的值是未定义的(它取决于属性被反序列化的顺序),并且可能因运行而异,或因平台而异。