Compartir a través de


ObjectAdapter.Add(Operation, Object) Método

Definición

La operación "add" realiza una de las siguientes funciones, en función de las referencias de ubicación de destino:

o Si la ubicación de destino especifica un índice de matriz, se inserta un nuevo valor en la matriz en el índice especificado.

o Si la ubicación de destino especifica un miembro de objeto que aún no existe, se agrega un nuevo miembro al objeto .

o Si la ubicación de destino especifica un miembro de objeto que existe, se reemplaza el valor de ese miembro.

El objeto de operación DEBE contener un miembro "value" cuyo contenido especifica el valor que se va a agregar.

Por ejemplo:

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

Cuando se aplica la operación, la ubicación de destino DEBE hacer referencia a una de las siguientes:

o La raíz del documento de destino: donde el valor especificado se convierte en todo el contenido del documento de destino.

o Un miembro que se va a agregar a un objeto existente, donde el valor proporcionado se agrega a ese objeto en la ubicación indicada. Si el miembro ya existe, se reemplaza por el valor especificado.

o Elemento que se va a agregar a una matriz existente: donde el valor proporcionado se agrega a la matriz en la ubicación indicada. Todos los elementos situados en o por encima del índice especificado se desplazan una posición a la derecha. El índice especificado NO DEBE ser mayor que el número de elementos de la matriz. Si el carácter "-" se usa para indexar el final de la matriz (vea [RFC6901]), esto tiene el efecto de anexar el valor a la matriz.

Dado que esta operación está diseñada para agregar objetos y matrices existentes, su ubicación de destino a menudo no existirá. Aunque se invocará el algoritmo de control de errores del puntero, esta especificación define el comportamiento de control de errores para los punteros "add" para omitir ese error y agregar el valor como se especifica.

Sin embargo, el propio objeto o una matriz que lo contiene necesitan existir y sigue siendo un error para que no sea el caso. Por ejemplo, un "add" con una ubicación de destino de "/a/b" a partir de este documento:

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

no es un error, porque "a" existe y "b" se agregará a su valor. Se trata de un error en este documento:

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

porque "a" no existe.

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)

Parámetros

operation
Operation

Operación add.

objectToApplyTo
Object

Objeto al que se va a aplicar la operación.

Implementaciones

Se aplica a