Skip to content
uencoder
TASK

Apply JSON Patch (RFC 6902) operations

JSON Patch defines a sequence of operations (add, remove, replace, move, copy, test) to modify a JSON document atomically.

  1. 1

    JSON Patch (RFC 6902) applies an array of operations to a JSON document. Operations: add (insert or replace), remove (delete), replace (overwrite), move (relocate), copy (duplicate), test (assert value before proceeding). Each operation uses a JSON Pointer path.

  2. 2
    JSON Formatter →

    Format both the original document and the patch array to verify they are valid JSON. The patch is an array of {op, path, value?} objects. Format them to catch syntax errors before applying.

  3. 3
    JSON Validator →

    Validate the patch structure: each operation must have "op" (one of add/remove/replace/move/copy/test) and "path" (a JSON Pointer). Add and replace require "value"; move and copy require "from"; test requires "value" for comparison.

  4. 4

    The "test" operation is powerful for conditional patches: it verifies a value before applying subsequent operations. If any test fails, the entire patch is rejected (atomicity). Use test to implement optimistic concurrency: test the version field, then apply changes.

Frequently asked questions

Is JSON Patch atomic?
Yes. If any operation fails (e.g., test assertion fails, path does not exist for remove), the entire patch is rejected and the document is unchanged. This makes it safe for concurrent modifications with proper version testing.
JSON Patch vs JSON Merge Patch?
JSON Patch (RFC 6902) uses explicit operations (add/remove/replace) — more expressive. JSON Merge Patch (RFC 7396) is simpler: a single JSON object where null means delete and other values mean replace. Use Merge Patch for simple updates, JSON Patch for complex operations.

Workflows that solve this

Convert naming case and validate as JSON
Convert identifiers to a target naming convention, then validate the output as JSON to confirm structure.
PIPELINE
Compare two YAML configs via JSON
Convert YAML configs to JSON for diff-friendly comparison of structured values.
PIPELINE
Encode a JSON payload for URL transport
Prepare a JSON document for a URL parameter: pretty-print, Base64-encode, then percent-encode — the exact inverse of the nested-parameter decode chain.
PIPELINE
HJSON to JSON Format
Format HJSON then convert to standard JSON.
PIPELINE
JS Format and JSON Validate
Format JS code then validate as JSON.
PIPELINE
Format JSON and compute integrity checksum
Pretty-print a JSON document and compute a CRC32 checksum to detect any subsequent modifications.
PIPELINE
Minify and validate JSON
Format JSON for inspection and validate it is syntactically correct in one pass.
PIPELINE
Generate JSON Schema and Validate
Generate a JSON schema from sample data then validate against it.
PIPELINE
Format JSON and generate TypeScript interface
Format a JSON document then infer a TypeScript interface definition in one chain.
PIPELINE
Validate, format, then convert JSON to YAML
Convert a (possibly minified) JSON config to YAML, catching syntax errors at the first node instead of producing subtly wrong YAML.
PIPELINE
JSON5 to JSON Format
Format JSON5 then convert to standard JSON.
PIPELINE
JSONC to JSON Format
Format JSONC (JSON with comments) then convert to standard JSON.
PIPELINE
Decode and format a JWT payload
Parse a JWT token, extract its payload, and format the JSON for inspection.
PIPELINE
Parse Query String and Format JSON
Parse query string into key-value pairs then format as JSON.
PIPELINE
Convert TOML to JSON
Parse a TOML configuration file into JSON for tools and APIs that expect JSON input.
PIPELINE
Convert TOML to YAML via JSON
Transform a TOML configuration file into YAML format, using JSON as an intermediate representation.
PIPELINE
Decode nested URL parameter (Base64 JSON)
Unwrap a URL parameter that carries URL-encoded Base64 JSON into readable, formatted JSON.
PIPELINE
Generate TypeScript interfaces from YAML
Convert a YAML document to TypeScript interface definitions, using JSON as an intermediate format.
PIPELINE
Validate and format YAML
Convert YAML to JSON to validate its structure, then confirm the JSON is well-formed.
PIPELINE

Learn more

Want to understand why?

Related tools