Описание тега json-patch
Вступление
Нотация объектов JavaScript (JSON) [RFC4627] - это распространенный формат для обмена и хранения структурированных данных. HTTP PATCH [RFC5789] расширяет протокол передачи гипертекста (HTTP) [RFC2616] методом частичного изменения ресурсов.
JSON Patch - это формат (идентифицируемый по типу носителя "application / json-patch") для выражения последовательности операций, применяемых к целевому документу JSON, подходящий для использования с методом HTTP PATCH.
Этот формат также потенциально полезен в других случаях, когда необходимо выполнить частичное обновление документа JSON или структуры данных, имеющей аналогичные ограничения (т. Е. Они могут быть сериализованы как объект или массив с использованием грамматики JSON).
Конвенции
Ключевые слова "ДОЛЖЕН", "НЕ ДОЛЖЕН", "ТРЕБУЕТСЯ", "ДОЛЖЕН", "НЕ ДОЛЖЕН", "ДОЛЖЕН", "НЕ ДОЛЖЕН", "РЕКОМЕНДУЕТСЯ", "МОЖЕТ" и "ДОПОЛНИТЕЛЬНО" в этом документе являются следует интерпретировать, как описано в RFC 2119 [RFC2119].
См. Раздел 5 для получения информации об обработке ошибок.
Структура документа
Документ JSON Patch - это документ JSON [RFC4627], представляющий массив объектов. Каждый объект представляет собой одну операцию, применяемую к целевому документу JSON.
Пример документа JSON Patch, переданного в запросе HTTP PATCH:
PATCH /my / data HTTP / 1.1 Хост: example.orgContent-Length: 326Content-Type: application / json-patchIf-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 ":" копировать ", "from": "/a/b/d", "path": "/a/b/e" } ]
Срок действия Bryan & Nottingham истекает 24 июля 2013 г. [Страница 3]
Internet-Draft JSON Patch Январь 2013 г.
Оценка документа JSON Patch начинается с целевого документа JSON. Операции применяются последовательно в том порядке, в котором они появляются в массиве. Каждая операция в последовательности применяется к целевому документу; получившийся документ становится целью следующей операции. Оценка продолжается до тех пор, пока не будут успешно применены все операции или пока не возникнет ошибка. Источники: