JSONPatch - Swift 4/5 json-patch 实现
JSONPatch 是一个 swift 模块,实现了 json-patch RFC6902。JSONPatch 使用了 Foundation 中的 JSONSerialization,并且没有第三方库的依赖。
该实现使用 JSON Patch Tests 项目的单元测试来验证其正确性。
发布
1.0.4 - 修复了复制包含 NSNumber 的 json 元素时引发 Objective-C 异常的bug。
安装
CocoaPods
Swift 包管理器
详见 SPM.md
Carthage
详见 Carthage.md
使用方法
更多关于 JSONPatch 的解释详见 Usage.md。
应用补丁
import JSONPatch
let sourceData = Data("""
{"foo": "bar"}
""".utf8)
let patchData = Data("""
[{"op": "add", "path": "/baz", "value": "qux"}]
""".utf8)
let patch = try! JSONPatch(data: patchData)
let patched = try! patch.apply(to: sourceData)
生成补丁
import JSONPatch
let sourceData = Data("""
{"foo": "bar"}
""".utf8)
let targetData = Data("""
{"foo": "bar", "baz": "qux"}
""".utf8)
let patch = try! JSONPatch(source: sourceData, target: targetData)
let patchData = try! patch.data()
许可证
Apache 许可协议 v2.0