JSON-патч
Расширение имени файла | .json-патч |
---|---|
Тип интернет-СМИ | приложение/json-patch+json |
Разработано | П. Брайан, М. Ноттингем |
Расширено с | JSON |
JSON Patch — это стандартный веб- формат для описания изменений в документе JSON . Он предназначен для использования вместе с HTTP PATCH , который позволяет изменять существующие HTTP-ресурсы. JSON Patch Тип носителя : application/json-patch+json
.
Документ JSON Patch структурирован как массив объектов JSON, каждый из которых содержит одну из шести операций JSON Patch: добавление, удаление, замену, перемещение, копирование и тестирование. На эту структуру повлияла спецификация XML patch. Синтаксис выглядит следующим образом: [1] [2]
На каждый объект приходится одна операция, хотя в каждом массиве может быть много объектов/операций. Эти операции выполняются по порядку; первая операция в массиве выполняется первой, вторая операция действует на результат предыдущей операции и так далее.
Документы JSON Patch являются атомарными: если одна операция в документе завершится неудачей, никакая операция не будет выполнена.
Операции
[ редактировать ]Операции делают следующее:
- Добавлять
- добавляет значение в объект или массив.
- Удалять
- удаляет значение из объекта или массива.
- Заменять
- заменяет значение. Логически идентично использованию удаления, а затем добавления.
- Копировать
- копирует значение из одного пути в другой, добавляя значение из указанного места в другое.
- Двигаться
- перемещает значение из одного места в другое, удаляя из одного места и добавляя в другое.
- Тест
- тесты на равенство на определенном пути для определенного значения. [3]
Ссылки
[ редактировать ]- ^ Марк, Ноттингем; Пол, Брайан (апрель 2013 г.). «Исправление нотации объектов JavaScript (JSON)» . www.tools.ietf.org . Проверено 4 декабря 2016 г.
- ^ «Блог mnot: Почему PATCH хорош для вашего HTTP API» . www.mnot.net . Проверено 4 декабря 2016 г.
- ^ Фостер, Бен (11 апреля 2016 г.). «Как выполнить частичное обновление ресурсов с помощью JSON Patch и ASP.NET Core» . Бенфостер.io .