Из Википедии, свободной энциклопедии
Перейти к навигацииПерейти к поиску

JSON Patch - это стандартный веб- формат для описания изменений в документе JSON . Он предназначен для использования вместе с HTTP Patch, который позволяет изменять существующие ресурсы HTTP. Тип носителя JSON Patch - application/json-patch+json.

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

[  {  "op" :  "add" ,  "path" :  "/ myPath" ,  "value" :  [ "myValue" ]  } ]

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

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

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

Операции

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

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

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

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

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

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

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

Ссылки

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