ObjectAdapter.Add(Operation, Object) 方法

定义

“添加”操作执行以下函数之一,具体取决于目标位置引用的内容:

o 如果目标位置指定数组索引,则会在指定索引处插入新值。

o 如果目标位置指定尚不存在的对象成员,则会向对象添加新成员。

o 如果目标位置指定的对象成员确实存在,则替换该成员的值。

操作对象必须包含一个“value”成员,其内容指定要添加的值。

例如:

{ “op”: “add”, “path”: “/a/b/c”, “value”: [ “foo”, “bar” ] }

应用操作时,目标位置必须引用以下位置之一:

o 目标文档的根 - 其中指定值将成为目标文档的整个内容。

o 要添加到现有对象的成员 - 其中提供的值将添加到指定位置的该对象。 如果该成员已存在,则它将被替换为指定的值。

o 要添加到现有数组的元素 - 其中提供的值将添加到指定位置的数组中。 指定索引处或高于指定索引的任何元素都向右移动一个位置。 指定的索引不得大于数组中的元素数。 如果使用“-”字符为数组的末尾编制索引, (请参阅 [RFC6901]) ,这会导致将值追加到数组中。

由于此操作旨在添加到现有对象和数组,因此其目标位置通常不存在。 尽管将因此调用指针的错误处理算法,但此规范定义了“添加”指针的错误处理行为,以忽略该错误并添加指定的值。

但是,对象本身或包含它的数组确实需要存在,并且对于这种情况,它仍然是一个错误。 例如,从本文档开始,目标位置为“/a/b”的“add”:

{ “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

要向其应用操作的对象。

实现

适用于