Passa al contenuto principale

3. Document Structure (Struttura del documento)

3. Document Structure (Struttura del documento)

Un documento JSON Patch è un documento JSON [RFC4627] che rappresenta un array di oggetti. Ogni oggetto rappresenta una singola operazione da applicare al documento JSON di destinazione (Target JSON Document).

Il seguente è un esempio di documento JSON Patch, trasferito in una richiesta HTTP 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" }
]

La valutazione di un documento JSON Patch inizia rispetto a un documento JSON di destinazione. Le operazioni vengono applicate sequenzialmente nell'ordine in cui appaiono nell'array. Ogni operazione nella sequenza viene applicata al documento di destinazione; il documento risultante diventa il target dell'operazione successiva. La valutazione continua fino a quando tutte le operazioni sono state applicate con successo o fino a quando si verifica una condizione di errore.