ObjectAdapter Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Define as operações que podem ser executadas em um documento de patch JSON.
public ref class ObjectAdapter : Microsoft::AspNetCore::JsonPatch::Adapters::IObjectAdapter
public ref class ObjectAdapter : Microsoft::AspNetCore::JsonPatch::Adapters::IObjectAdapterWithTest
public class ObjectAdapter : Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapter
public class ObjectAdapter : Microsoft.AspNetCore.JsonPatch.Adapters.IObjectAdapterWithTest
type ObjectAdapter = class
interface IObjectAdapter
type ObjectAdapter = class
interface IObjectAdapterWithTest
interface IObjectAdapter
Public Class ObjectAdapter
Implements IObjectAdapter
Public Class ObjectAdapter
Implements IObjectAdapterWithTest
- Herança
-
ObjectAdapter
- Implementações
Construtores
ObjectAdapter(IContractResolver, Action<JsonPatchError>, IAdapterFactory) |
Inicializa uma nova instância de ObjectAdapter. |
ObjectAdapter(IContractResolver, Action<JsonPatchError>) |
Inicializa uma nova instância de ObjectAdapter. |
Propriedades
AdapterFactory |
Obtém ou define o IAdapterFactory |
ContractResolver |
Obtém ou define o Newtonsoft.Json.Serialization.IContractResolver. |
LogErrorAction |
Ação para registrar em log JsonPatchError. |
Métodos
Add(Operation, Object) |
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. |
Copy(Operation, Object) |
A operação de "cópia" copia o valor em um local especificado para o local de destino. O objeto de operação DEVE conter um membro "from", que é uma cadeia de caracteres que contém um valor de Ponteiro JSON que faz referência ao local no documento de destino do qual copiar o valor. O local "from" DEVE existir para que a operação seja bem-sucedida. Por exemplo: { "op": "copy", "from": "/a/b/c", "path": "/a/b/e" } Essa operação é funcionalmente idêntica a uma operação "add" no local de destino usando o valor especificado no membro "from". Observação: mesmo que seja o mesmo funcionalmente, não chamamos add com o valor especificado em de por motivos de desempenho (várias verificações dos mesmos requisitos). |
Move(Operation, Object) |
A operação "mover" remove o valor em um local especificado e o adiciona ao local de destino. O objeto de operação DEVE conter um membro "from", que é uma cadeia de caracteres que contém um valor de ponteiro JSON que faz referência ao local no documento de destino do qual mover o valor. O local "from" DEVE existir para que a operação seja bem-sucedida. Por exemplo: { "op": "move", "from": "/a/b/c", "path": "/a/b/d" } Essa operação é funcionalmente idêntica a uma operação "remove" no local "from", seguida imediatamente por uma operação "add" no local de destino com o valor que acabou de ser removido. O local "from" NÃO DEVE ser um prefixo adequado do local "path"; Ou seja, um local não pode ser movido para um de seus filhos. |
Remove(Operation, Object) |
A operação "remover" remove o valor no local de destino. O local de destino DEVE existir para que a operação seja bem-sucedida. Por exemplo: { "op": "remove", "path": "/a/b/c" } Se você remover um elemento de uma matriz, todos os elementos acima do índice especificado serão deslocados uma posição para a esquerda. |
Replace(Operation, Object) |
A operação "substituir" substitui o valor no local de destino por um novo valor. O objeto de operação DEVE conter um membro "value" cujo conteúdo especifica o valor de substituição. O local de destino DEVE existir para que a operação seja bem-sucedida. Por exemplo: { "op": "replace", "path": "/a/b/c", "value": 42 } Essa operação é funcionalmente idêntica a uma operação "remover" para um valor, seguida imediatamente por uma operação "add" no mesmo local com o valor de substituição. Observação: embora seja o mesmo funcionalmente, não chamamos remove + add por motivos de desempenho (várias verificações dos mesmos requisitos). |
Test(Operation, Object) |
Define as operações que podem ser executadas em um documento de patch JSON. |