#JSONPatch
辅助类,用于生成符合RFC 6902的JSON补丁。
这正是您想要的
[
{ "op": "test", "path": "/a/b/c", "value": "foo" },
{ "op": "remove", "path": "/a/b/c" },
{ "op": "add", "path": "/a/b/c", "value": [ "foo", "bar" ] },
{ "op": "replace", "path": "/a/b/c", "value": 42 },
{ "op": "move", "from": "/a/b/c", "path": "/a/b/d" },
{ "op": "copy", "from": "/a/b/d", "path": "/a/b/e" }
]
如何实现它
NSArray *patches = [JSONPatch createPatch:^(JSONPatch* p){
[p test:@"/a/b/c" value:@"foo"];
[p remove:@"/a/b/c"];
[p add:@"/a/b/c" value:@[@"foo",@"bar"]];
[p replace:@"/a/b/c" value:@42];
[p move:@"/a/b/c" to:@"/a/b/d"];
[p copy:@"/a/b/d" to:@"/a/b/e"];
}];
将其序列化为JSON字符串(我建议使用苹果公司出色的NSJSONSerialization
类),然后餐厅就准备好了。
#警告
JSON路径和值不会进行校验。这是您需要在后端实施的事情!
#许可证
JSONPatch在MIT许可证下可用。有关更多信息,请参阅LICENSE文件。