Патч JSON - JSON Patch

Патч JSON
Расширение имени файла
.json-патч
Тип интернет-СМИ
приложение / json-patch + json
РазработанП. Брайан, М. Ноттингем
Расширен сJSON

Патч JSON это веб-стандарт формат описания изменений в JSON документ. Он предназначен для использования вместе с HTTP Пластырь что позволяет изменять существующие ресурсы HTTP. Патч JSON тип СМИ является приложение / json-patch + json.

Документ JSON Patch структурирован как массив объектов JSON, где каждый объект содержит одну из шести операций JSON Patch: добавление, удаление, замена, перемещение, копирование и тестирование. На эту структуру повлияла спецификация XML патч. Синтаксис выглядит так:[1][2]

[    { "оп": "Добавить", "дорожка": "/мой путь", "ценность": ["myValue"] }]

Каждый объект имеет два обязательных члена: op и path.

Для каждого объекта существует одна операция, хотя в каждом массиве может быть много объектов / операций. Эти операции выполняются по порядку; первая операция в массиве идет первой, вторая операция воздействует на результат предыдущей операции и так далее.

Документы JSON Patch атомарны в том смысле, что если одна операция в документе завершится неудачно, никакая операция выполняться не будет.

Операции

Операции делают следующее:

Добавить: добавляет значение в объект или массив.

Удалять: удаляет значение из объекта или массива.

Заменить: заменяет значение. Логически идентично использованию удаления и затем добавления.

Копия: копирует значение из одного пути в другой, добавляя значение в указанном месте в другое место.

Шаг: перемещает значение из одного места в другое, удаляя из одного места и добавляя в другое.

Тест: проверяет равенство на определенном пути для определенного значения.[3]

Рекомендации

  1. ^ Марк, Ноттингем; Пол, Брайан. «Патч JavaScript Object Notation (JSON)». tools.ietf.org. Получено 2016-12-04.
  2. ^ "Блог mnot: Почему PATCH хорош для вашего HTTP API". www.mnot.net. Получено 2016-12-04.
  3. ^ Фостер, Бен (11 апреля 2016 г.). «Как выполнить частичное обновление ресурсов с помощью JSON Patch и ASP.NET Core». benfoster.io.