Sdílet prostřednictvím


ObjectAdapter.Add(Operation, Object) Metoda

Definice

Operace "add" provede jednu z následujících funkcí v závislosti na tom, na co cílová umístění odkazuje:

o Pokud cílové umístění určuje index pole, vloží se do pole v zadaném indexu nová hodnota.

o Pokud cílové umístění určuje člen objektu, který ještě neexistuje, přidá se do objektu nový člen.

o Pokud cílové umístění určuje člen objektu, který existuje, nahradí se hodnota člena.

Objekt operace MUSÍ obsahovat "value" člen, jehož obsah určuje hodnotu, která má být přidána.

Příklad:

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

Při použití operace musí cílové umístění odkazovat na jednu z těchto možností:

o Kořen cílového dokumentu – zadaná hodnota se stane celým obsahem cílového dokumentu.

o Člen, který se má přidat k existujícímu objektu – načež se k danému objektu v určeném umístění přidá zadaná hodnota. Pokud již člen existuje, nahradí se zadanou hodnotou.

o Prvek, který se má přidat do existujícího pole – načež se do pole v určeném umístění přidá zadaná hodnota. Všechny prvky v zadaném indexu nebo nad ho jsou posunuty o jednu pozici doprava. Zadaný index NESMÍ být větší než počet prvků v poli. Pokud se znak "-" použije k indexování konce pole (viz [RFC6901]), má to za následek připojení hodnoty k matici.

Vzhledem k tomu, že tato operace je určená k přidání do existujících objektů a polí, její cílové umístění často neexistuje. I když tedy bude vyvolán algoritmus zpracování chyb ukazatele, tato specifikace definuje chování při zpracování chyb pro ukazatele "add" tak, aby se tato chyba ignorovala a přidala hodnotu podle zadání.

Samotný objekt nebo pole, které ho obsahuje, však musí existovat a zůstane chybou, aby tomu tak nebylo. Například "add" s cílovým umístěním "/a/b" počínaje tímto dokumentem:

{ "a": { "foo": 1 } }

není chyba, protože "a" existuje a "b" se přidá k jeho hodnotě. Jedná se o chybu v tomto dokumentu:

{ "q": { "bar": 2 } }

protože "a" neexistuje.

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)

Parametry

operation
Operation

Operace přidání.

objectToApplyTo
Object

Objekt, na který se má operace použít.

Implementuje

Platí pro