Gerador e Aplicador de JSON Patch
Gere um JSON Patch RFC 6902 entre dois documentos, aplique um patch a uma origem ou execute um merge patch RFC 7386 — inteiramente no seu navegador.
O Gerador de JSON Patch roda inteiramente no seu navegador. Os documentos e patches que você cola sofrem diff e são aplicados no seu dispositivo e nunca são enviados à ArrayKit.
Abrir a ferramenta de Diff JSON
Sobre Gerador de JSON Patch
O Gerador de JSON Patch transforma a diferença entre dois documentos JSON em um array de operações RFC 6902 limpo — os passos de add, remove, replace, move e copy que transformam uma origem em um alvo. Mude para o modo Aplicar para rodar um patch contra um documento de origem e ver o resultado exato, com cada operação validada, de modo que uma op inválida ou um test que falha seja capturado em vez de ignorado silenciosamente. Um terceiro modo aplica JSON Merge Patches do RFC 7386, em que um valor null deleta uma chave e objetos se fundem chave por chave. É feito para desenvolvedores que estão montando endpoints PATCH, sincronizando configuração ou revisando mudanças de API. Sua origem, seu alvo e seu patch são processados no seu dispositivo e nunca saem do navegador.
Recursos
- Gere um patch RFC 6902 mínimo (add / remove / replace / move / copy) a partir de dois documentos JSON
- Aplique um array de patch a um documento de origem e veja o resultado corrigido na hora
- Valida cada operação — ops desconhecidas, tests que falham e caminhos irresolúveis são reportados, não ignorados
- Aplique JSON Merge Patches do RFC 7386 em que um valor null deleta uma chave
- Diff independente da ordem das chaves, então chaves reordenadas nunca produzem operações ruidosas
- Copie o patch ou o resultado, ou baixe-o como um arquivo .json
- Selos de válido / inválido ao vivo apontam qual lado tem um erro de sintaxe JSON
- Tudo roda no seu navegador — documentos e patches ficam no seu dispositivo
Como usar Gerador de JSON Patch
- Escolha Gerar para fazer o diff de dois documentos, Aplicar patch para rodar um patch RFC 6902, ou Merge patch para RFC 7386
- Cole seu JSON de origem à esquerda
- Cole o documento alvo, o array de patch ou o merge patch à direita
- Leia as operações geradas ou o resultado corrigido, depois copie-o ou baixe-o
Exemplo
Entrada
source: {"active":true,"roles":["admin"]}
target: {"active":false,"roles":["admin","editor"]}
Saída
[
{ "op": "replace", "path": "/active", "value": false },
{ "op": "add", "path": "/roles/1", "value": "editor" }
]
Gerar produz as operações RFC 6902 que transformam a origem no alvo.
Erros comuns e solução de problemas
- O modo Aplicar diz que o patch precisa ser um array de operações. — Um patch RFC 6902 é um array JSON como [ { "op": "add", "path": "/x", "value": 1 } ]. Envolva um único objeto de operação em colchetes.
- Uma operação remove ou replace falha com um caminho irresolúvel. — O caminho já precisa existir na origem. Verifique se há um erro de digitação, lembre-se de que caminhos começam com uma barra, e escape / e ~ nas chaves como ~1 e ~0.
- Uma operação test faz o patch inteiro falhar. — Patches RFC 6902 são tudo ou nada. Um test que falha aborta o patch, então confirme que o valor testado corresponde exatamente à origem antes de as operações seguintes rodarem.
- Um merge patch substituiu um array inteiro em vez de editar um item. — O RFC 7386 não tem edições de array no nível de elemento — um array em um merge patch sobrescreve o array inteiro. Use um patch RFC 6902 com caminhos indexados para mudanças item a item.
Perguntas frequentes
- O que é um JSON Patch RFC 6902?
- O RFC 6902 é um formato que descreve mudanças em um documento JSON como um array ordenado de operações — add, remove, replace, move, copy e test — cada uma apontando para um caminho JSON Pointer. Aplicar o array à origem produz o alvo.
- Como o JSON Merge Patch (RFC 7386) difere do JSON Patch (RFC 6902)?
- Um merge patch é ele próprio um objeto JSON que espelha o alvo: chaves presentes são definidas, um valor null deleta uma chave, e arrays e escalares substituem por completo. É mais simples, mas não pode mover valores nem editar elementos individuais de array como as operações RFC 6902 podem.
- Como gero um patch a partir de dois documentos JSON?
- Fique em Gerar, cole o original à esquerda e a versão alterada à direita, e a ferramenta calcula o array de operações RFC 6902 mínimo. O diff ignora a ordem das chaves, então campos reordenados não criam operações espúrias.
- Por que meu patch falhou ao aplicar?
- As operações são validadas contra a origem. Causas comuns são um caminho que não existe para remove ou replace, uma operação test cujo valor não corresponde, ou um nome de op inválido. A ferramenta mostra o erro específico para você corrigir aquela operação.
- Um merge patch realmente deleta uma chave com null?
- Sim. No RFC 7386, uma propriedade definida como null instrui o merge a remover aquela chave do resultado. Para armazenar um null de verdade você precisa usar uma operação replace do RFC 6902.
- Meus documentos JSON e patches são enviados para algum lugar?
- Não. O gerador, o aplicador de patch e o motor de merge patch rodam todos localmente no seu navegador. Sua origem, seu alvo e seus dados de patch são processados no seu dispositivo e nunca são enviados à ArrayKit.
Ferramentas relacionadas
- JSON Diff — Compare dois documentos JSON e veja um diff estrutural do que mudou.
- Formatador de JSON — Embeleze, minifique e valide JSON com a localização dos erros.
- JSON Flatten — Achate JSON aninhado em chaves com notação de ponto ou desfaça de volta, no seu navegador.
- Ordenar Chaves JSON — Ordene recursivamente as chaves de um objeto JSON de A→Z ou Z→A, no navegador.
- JSON para CSV — Converta um array de objetos JSON planos para CSV.
- NDJSON para JSON — Converta NDJSON (JSON Lines) em um array JSON formatado e de volta, no navegador.
Todas as ferramentas de ArrayKit