RMJSONPatch 1.0.5

RMJSONPatch 1.0.5

Raymond McCrae 维护。



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.4 - 修复了复制包含 NSNumber 的 json 元素时引发 Objective-C 异常的bug。

安装

CocoaPods

CocoaPods.md

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