ObjectAdapter.Add(Operation, Object) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Операция добавления выполняет одну из следующих функций в зависимости от того, на что ссылается целевое расположение:
o Если целевое расположение указывает индекс массива, в массив по указанному индексу вставляется новое значение.
o Если в целевом расположении указан еще не существующий элемент объекта, к объекту добавляется новый элемент.
o Если в целевом расположении указан существующий элемент объекта, значение этого элемента заменяется.
Объект операции ДОЛЖЕН содержать элемент value, содержимое которого указывает добавляемое значение.
Пример:
{ "op": "add", "path": "/a/b/c", "value": [ "foo", "bar" ] }
При применении операции целевое расположение ДОЛЖНО ссылаться на одно из следующих значений:
o Корень целевого документа, после чего указанное значение становится всем содержимым целевого документа.
o Элемент, добавляемый к существующему объекту, после чего предоставленное значение добавляется к этому объекту в указанном расположении. Если элемент уже существует, он заменяется указанным значением.
o Элемент, добавляемый в существующий массив, после чего предоставленное значение добавляется в массив в указанном расположении. Все элементы с указанным индексом или выше смещаются на одну позицию вправо. Указанный индекс НЕ ДОЛЖЕН быть больше числа элементов в массиве. Если символ "-" используется для индексирования конца массива (см. [RFC6901]), это действие добавляет значение к массиву.
Так как эта операция предназначена для добавления к существующим объектам и массивам, ее целевое расположение часто не существует. Хотя таким образом будет вызван алгоритм обработки ошибок указателя, эта спецификация определяет поведение обработки ошибок для указателей "добавить", чтобы игнорировать эту ошибку и добавить значение, как указано.
Тем не менее, сам объект или массив, содержащий его, должен существовать, и это остается ошибкой, чтобы это не так. Например, "добавить" с целевым расположением "/a/b", начиная с этого документа:
{ "a": { "foo": 1 } }
не является ошибкой, так как "a" существует, и "b" будет добавлено к его значению. Это ошибка в этом документе:
{ "q": { "bar": 2 } }
поскольку "a" не существует.
public:
virtual void Add(Microsoft::AspNetCore::JsonPatch::Operations::Operation ^ operation, System::Object ^ objectToApplyTo);
public void Add (Microsoft.AspNetCore.JsonPatch.Operations.Operation operation, object objectToApplyTo);
abstract member Add : Microsoft.AspNetCore.JsonPatch.Operations.Operation * obj -> unit
override this.Add : Microsoft.AspNetCore.JsonPatch.Operations.Operation * obj -> unit
Public Sub Add (operation As Operation, objectToApplyTo As Object)
Параметры
- operation
- Operation
Операция добавления.
- objectToApplyTo
- Object
Объект, к который применяется операция.