JSONPatch - Swift 4/5 json-patch 实现

Apache 2 License Supported Platforms Build System

JSONPatch 是一个 Swift 模块,实现了 json-patch RFC6902。JSONPatch 使用 Foundation 框架中的 JSONSerialization,并且不依赖于任何第三方库。

此实现使用了 JSON Patch Tests 项目进行单元测试,以验证其正确性。

发布

1.0.6 - 增加了对 Linux 的支持。

安装

CocoaPods

请参阅 CocoaPods.md

Swift Package Manager

请参阅 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 License v2.0