Skip to content
uencoder
TASK

Apply JSON Merge Patch (RFC 7396)

JSON Merge Patch applies a partial JSON object to update a document — null values delete keys, other values replace them. Simpler than JSON Patch.

  1. 1

    JSON Merge Patch (RFC 7396) is a simple merge: take a patch object and apply it to the target. For each key in the patch: if the value is null, delete the key from the target; otherwise, set/replace the key. Nested objects are merged recursively. It is less expressive than JSON Patch but much simpler.

  2. 2
    JSON Formatter →

    Format the original document and the merge patch. The patch is a plain JSON object — no special structure. Format both to verify valid JSON before merging.

  3. 3
    JSON Validator →

    Validate the merged result. The merge is straightforward: for each key in the patch, if null → delete from target, else → set in target. Validate the result to ensure the merge produced valid data.

  4. 4

    Limitation: Merge Patch cannot add a null value (null means delete), cannot move or copy values, and cannot test before applying. For these operations, use JSON Patch (RFC 6902) instead. Merge Patch is ideal for simple partial updates from forms or API PATCH requests.

Frequently asked questions

When to use Merge Patch vs JSON Patch?
Use Merge Patch for simple partial updates (e.g., updating a few fields in a resource via PATCH /api/user). Use JSON Patch when you need to move/copy values, test conditions, or add null values. Merge Patch is simpler but less expressive.
How are arrays handled in Merge Patch?
Arrays are replaced entirely, not merged element-by-element. If the patch has {tags: ["a", "b"]}, the entire tags array is replaced. To modify individual array elements, use JSON Patch with array index paths.

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