Partilhar via


ObjectAdapter.Add(Operation, Object) Método

Definição

A operação "adicionar" executa uma das seguintes funções, dependendo do que o local de destino referencia:

o Se o local de destino especificar um índice de matriz, um novo valor será inserido na matriz no índice especificado.

o Se o local de destino especificar um membro do objeto que ainda não existe, um novo membro será adicionado ao objeto .

o Se o local de destino especificar um membro do objeto que existe, o valor desse membro será substituído.

O objeto de operação DEVE conter um membro "value" cujo conteúdo especifica o valor a ser adicionado.

Por exemplo:

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

Quando a operação é aplicada, o local de destino DEVE referenciar um dos seguintes:

o A raiz do documento de destino – quando o valor especificado se torna todo o conteúdo do documento de destino.

o Um membro a ser adicionado a um objeto existente , em que o valor fornecido é adicionado a esse objeto no local indicado. Se o membro já existir, ele será substituído pelo valor especificado.

o Um elemento a ser adicionado a uma matriz existente , em que o valor fornecido é adicionado à matriz no local indicado. Todos os elementos no índice especificado ou acima são deslocados uma posição para a direita. O índice especificado NÃO DEVE ser maior que o número de elementos na matriz. Se o caractere "-" for usado para indexar o final da matriz (consulte [RFC6901]), isso terá o efeito de acrescentar o valor à matriz.

Como essa operação foi projetada para adicionar a objetos e matrizes existentes, sua localização de destino geralmente não existirá. Embora o algoritmo de tratamento de erros do ponteiro seja invocado, essa especificação define o comportamento de tratamento de erros para ponteiros "add" para ignorar esse erro e adicionar o valor conforme especificado.

No entanto, o objeto em si ou uma matriz que o contém precisa existir e continua sendo um erro para que esse não seja o caso. Por exemplo, um "add" com um local de destino de "/a/b" começando com este documento:

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

não é um erro, porque "a" existe e "b" será adicionado ao seu valor. É um erro neste documento:

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

porque "a" não 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

A operação de adição.

objectToApplyTo
Object

Objeto ao qual aplicar a operação.

Implementações

Aplica-se a