ObjectAdapter.Add(Operation, Object) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
根據目標位置參考的內容,「add」 作業會執行下列其中一個函式:
o 如果目標位置指定陣列索引,則會將新的值插入陣列中指定的索引處。
o 如果目標位置指定的物件成員尚未存在,則會將新的成員新增至 物件。
o 如果目標位置指定存在的物件成員,則會取代該成員的值。
工作物件必須包含「value」 成員,其內容指定要加入的值。
例如:
{ 「op」: 「add」, 「path」: 「/a/b/c」, 「value」: [ 「foo」, 「bar」 ] }
套用作業時,目標位置必須參考下列其中一項:
o 目的檔案的根目錄 - 其中指定值會變成目的檔案的整個內容。
o 要加入至現有物件的成員 - 其中提供的值會新增至指定位置的該物件。 如果成員已經存在,則會由指定的值取代。
o 要加入至現有陣列的專案 - 其中提供的值會新增至指定位置的陣列。 位於或高於指定索引的任何元素會向右移動一個位置。 指定的索引不得大於陣列中的元素數目。 如果使用 「-」 字元來編制陣列結尾的索引, (請參閱 [RFC6901]) ,這會影響將值附加至陣列的效果。
由於這項作業的設計目的是要新增至現有的物件和陣列,因此其目標位置通常不存在。 雖然會叫用指標的錯誤處理演算法,但此規格會定義「新增」指標的錯誤處理行為,以忽略該錯誤,並新增指定的值。
不過,物件本身或包含它的陣列必須存在,而且它仍然發生錯誤,以免發生此情況。 例如,開頭為 「/a/b」 的目標位置為 「/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
要套用作業的物件。