Ir para o conteúdo
Totalmente local

Aplicador de JSON Patch

Aplique um RFC 6902 JSON Patch (ou patch de mesclagem RFC 7396) a um documento JSON.

Entrada
Patch (JSON)
Saída

Aplicador de JSON Patch

Cole um documento JSON e um patch, e esta ferramenta aplica o patch e retorna o documento resultante. Ela suporta tanto o JSON Patch RFC 6902 — o array padrão de operações add, remove, replace, move, copy e test — quanto o JSON Merge Patch RFC 7396, o formato mais simples "apenas descreva a forma que deseja" usado por muitas APIs REST para requisições PATCH.

Antes de qualquer coisa ser executada, o patch é verificado para problemas estruturais: um nome de operação desconhecido, um "path" ausente ou malformado, um "value" ausente em add/replace/test ou um "from" ausente em move/copy — tudo é detectado antes e relatado com o índice exato da operação, em vez de falhar no meio do caminho. Depois que um patch passa nessa verificação, a opção on-error decide o que acontece se uma operação individual ainda falhar no momento da aplicação (um caminho que não existe mais, um teste que não coincide): parar na primeira falha e manter o que já foi aplicado, ou ignorar e continuar. Ative o rastreamento passo a passo para ver o documento após cada operação — inestimável quando um patch de nove etapas faz algo inesperado na etapa seis. Teste seco calcula tudo sem alterar a saída, para que você possa verificar se um patch é seguro antes de confiar nele.

Os caminhos JSON Pointer seguem o RFC 6901 exatamente, incluindo o token de acréscimo de array "-" e os escapes ~0 / ~1 para "~" e "/" dentro de uma chave. Move e copy leem a origem com "from" e escrevem com "path"; test compara estruturalmente, ignorando a ordem das chaves de objeto. A saída pode ser indentada para legibilidade ou compactada para colar de volta em uma chamada de API, e o resumo relata quantas operações foram aplicadas, falharam ou foram ignoradas.

Tudo é executado localmente no seu navegador — o documento e o patch nunca são enviados para lugar nenhum, então é seguro usar com payloads de API reais ou arquivos de configuração. Copie o resultado, baixe-o como arquivo .txt ou envie-o diretamente de volta para a entrada para aplicar outro patch por cima.

FAQ

Qual é a diferença entre JSON Patch e JSON Merge Patch?
JSON Patch (RFC 6902) é uma lista explícita de operações — adicione isto, remova aquilo, mova isto para aqui — para que possa expressar mudanças precisas como reordenação de um array. JSON Merge Patch (RFC 7396) é apenas um objeto JSON parcial descrevendo a nova forma; uma chave definida como null a deleta, qualquer outra coisa a sobrescreve. Merge patch é mais simples de escrever manualmente, mas não pode expressar edições de array ou "delete esta chave" versus "defina como null" sem ambiguidade.
O que acontece se uma operação falhar no meio?
Com "parar no primeiro erro", as operações já aplicadas permanecem aplicadas e o resto é ignorado — o rastreamento mostra exatamente onde parou. Com "ignorar e continuar", cada operação é tentada e apenas as que falharam são deixadas de fora do resultado.
O que exatamente a execução de teste faz?
A execução de teste valida o patch e simula cada operação, então o rastreamento mostra exatamente o que aconteceria, mas a caixa de saída ainda mostra seu documento original e intacto. Nada é "escrito" em lugar nenhum em uma ferramenta de navegador — é uma forma de visualizar o efeito de um patch antes de contar com ele.
O patch é validado antes de ser aplicado?
Sim. Um nome de operação desconhecido, um caminho que não é um JSON Pointer válido, ou um campo "value"/"from" ausente são todos detectados antes de qualquer operação ser executada, e o erro nomeia o índice da operação para que você possa encontrá-lo em um patch longo.
Meu JSON é enviado para algum lugar?
Não. Tanto o documento quanto o patch são processados inteiramente no seu navegador e nunca saem do seu dispositivo.