3. Document Structure (文档结构)
3. Document Structure (文档结构)
JSON Patch 文档是一个 JSON [RFC4627] 文档, 表示一个对象数组。每个对象表示要应用于目标 JSON 文档 (Target JSON Document) 的单个操作。
以下是在 HTTP PATCH 请求中传输的 JSON Patch 文档示例:
PATCH /my/data HTTP/1.1
Host: example.org
Content-Length: 326
Content-Type: application/json-patch+json
If-Match: "abc123"
[
{ "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" }
]
JSON Patch 文档的评估从目标 JSON 文档开始。操作按照它们在数组中出现的顺序依次应用。序列中的每个操作都应用于目标文档; 生成的文档成为下一个操作的目标。评估继续进行, 直到所有操作都成功应用或遇到错误条件为止。