Vai al contenuto
100% locale

Applicatore di JSON Patch

Applica un RFC 6902 JSON Patch (o RFC 7396 merge patch) a un documento JSON.

Ingresso
Patch (JSON)
Uscita

Applicatore di JSON Patch

Incolla un documento JSON e una patch, e questo strumento applica la patch e restituisce il documento risultante. Supporta sia RFC 6902 JSON Patch — l'array standard di operazioni add, remove, replace, move, copy e test — che RFC 7396 JSON Merge Patch, il formato più semplice « descrivi semplicemente la forma che vuoi » usato da molte API REST per le richieste PATCH.

Prima che qualsiasi cosa venga eseguita, la patch viene verificata per eventuali problemi strutturali: un nome di operazione sconosciuto, un « path » mancante o malformato, un « value » mancante su add/replace/test, o un « from » mancante su move/copy vengono catturati e segnalati con l'indice esatto dell'operazione, piuttosto che fallire a metà. Una volta che la patch passa quella verifica, l'opzione di errore decide cosa succede se un'operazione individuale fallisce ancora al momento dell'applicazione (un percorso che non esiste più, un test che non corrisponde): fermarsi al primo errore e mantenere ciò che è già stato applicato, o saltarlo e continuare. Attiva la traccia passo dopo passo per vedere il documento dopo ogni singola operazione — prezioso quando una patch a nove passi fa qualcosa di inaspettato al passo sei. L'esecuzione asciutta calcola tutto senza modificare l'output, così puoi verificare che una patch sia sicura prima di fidarti di essa.

I percorsi JSON Pointer seguono RFC 6901 esattamente, incluso il token append di array « - » e gli escape ~0 / ~1 per « ~ » e « / » all'interno di una chiave. Move e copy leggono la sorgente con « from » e scrivono con « path »; test confronta strutturalmente, ignorando l'ordine delle chiavi dell'oggetto. L'output può essere indentato per la leggibilità o compattato per incollarlo di nuovo in una chiamata API, e il conteggio riporta quante operazioni sono state applicate, fallite o saltate.

Tutto viene eseguito localmente nel tuo browser — il documento e la patch non vengono mai caricati da nessuna parte, quindi è sicuro usarlo con i veri payload delle API o file di configurazione. Copia il risultato, scaricalo come file .txt, o invialo direttamente nella casella di input per applicare un'altra patch sopra.

FAQ

Qual è la differenza tra JSON Patch e JSON Merge Patch?
JSON Patch (RFC 6902) è un elenco esplicito di operazioni — aggiungi questo, rimuovi quello, sposta questo qui — in modo che possa esprimere modifiche precise come riordinare un array. JSON Merge Patch (RFC 7396) è semplicemente un oggetto JSON parziale che descrive la nuova forma; una chiave impostata su null la elimina, tutto il resto la sovrascrive. Merge patch è più semplice da scrivere a mano ma non può esprimere modifiche di array né distinguere inequivocabilmente tra « elimina questa chiave » e « impostala su null ».
Cosa succede se un'operazione fallisce a metà strada?
Con « interrompi al primo errore », le operazioni già applicate rimangono applicate e il resto viene saltato — il conteggio e la traccia mostrano esattamente dove si è fermato. Con « salta e continua », ogni operazione viene tentata e solo quelle che falliscono vengono lasciate fuori dal risultato.
Cosa fa veramente l'esecuzione asciutta?
L'esecuzione asciutta valida la patch e simula ogni operazione, quindi il conteggio e la traccia mostrano esattamente cosa accadrebbe, ma la casella di output mostra ancora il tuo documento originale intatto. Niente viene « scritto » da nessuna parte in uno strumento del browser — è un modo per visualizzare in anteprima l'effetto di una patch prima di farvi affidamento.
Convalida la patch prima di applicarla?
Sì. Un nome di operazione sconosciuto, un percorso che non è un JSON Pointer valido, o un campo « value »/« from » mancante vengono tutti catturati prima che qualsiasi operazione venga eseguita, e l'errore nomina l'indice dell'operazione in modo che tu possa trovarlo in una patch lunga.
Il mio JSON viene caricato da qualche parte?
No. Sia il documento che la patch vengono elaborati interamente nel tuo browser e non lasciano mai il tuo dispositivo.