Condividi tramite


ObjectAdapter.Add(Operation, Object) Metodo

Definizione

L'operazione "add" esegue una delle funzioni seguenti, a seconda dei riferimenti alla posizione di destinazione:

o Se il percorso di destinazione specifica un indice di matrice, viene inserito un nuovo valore nella matrice in corrispondenza dell'indice specificato.

o Se il percorso di destinazione specifica un membro oggetto che non esiste già, viene aggiunto un nuovo membro all'oggetto .

o Se la posizione di destinazione specifica un membro dell'oggetto esistente, il valore del membro viene sostituito.

L'oggetto operazione DEVE contenere un membro "valore" il cui contenuto specifica il valore da aggiungere.

Ad esempio:

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

Quando viene applicata l'operazione, il percorso di destinazione DEVE fare riferimento a uno di:

o La radice del documento di destinazione, in cui il valore specificato diventa l'intero contenuto del documento di destinazione.

o Un membro da aggiungere a un oggetto esistente, in cui il valore fornito viene aggiunto a tale oggetto nella posizione indicata. Se il membro esiste già, viene sostituito dal valore specificato.

o Elemento da aggiungere a una matrice esistente, in cui il valore fornito viene aggiunto alla matrice nella posizione indicata. Tutti gli elementi in corrispondenza o superiore all'indice specificato vengono spostati una posizione a destra. L'indice specificato NON DEVE essere maggiore del numero di elementi nella matrice. Se il carattere "-" viene usato per indicizzare la fine della matrice (vedere [RFC6901]), questo ha l'effetto di accodare il valore alla matrice.

Poiché questa operazione è progettata per aggiungere a oggetti e matrici esistenti, la relativa posizione di destinazione spesso non esiste. Sebbene venga richiamato l'algoritmo di gestione degli errori del puntatore, questa specifica definisce il comportamento di gestione degli errori per i puntatori "add" per ignorare tale errore e aggiungere il valore come specificato.

Tuttavia, l'oggetto stesso o una matrice che lo contiene deve esistere e rimane un errore perché non sia il caso. Ad esempio, un "add" con un percorso di destinazione "/a/b" a partire da questo documento:

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

non è un errore, perché "a" esiste e "b" verrà aggiunto al relativo valore. Si tratta di un errore in questo documento:

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

perché "a" non esiste.

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)

Parametri

operation
Operation

Operazione di aggiunta.

objectToApplyTo
Object

Oggetto a cui applicare l'operazione.

Implementazioni

Si applica a