Расширение имени файла | .json-патч |
---|---|
Тип интернет-СМИ | приложение / json-patch + json |
Разработан | П. Брайан, М. Ноттингем |
Расширен с | JSON |
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]
Ссылки
- ^ Марк, Ноттингем; Пол, Брайан. «Патч для обозначения объектов JavaScript (JSON)» . tools.ietf.org . Проверено 4 декабря 2016 .
- ^ "Блог mnot: Почему PATCH хорош для вашего HTTP API" . www.mnot.net . Проверено 4 декабря 2016 .
- ↑ Фостер, Бен (11 апреля 2016 г.). «Как выполнить частичное обновление ресурсов с помощью JSON Patch и ASP.NET Core» . benfoster.io .