JSON Suit/json merge

JSON Merge Online

Merge multiple JSON payloads together using advanced deep/shallow recursion engines. Control properties conflict resolution rules, combine list arrays, and output canonical merged objects securely and locally.

Deep Merge vs. Shallow Merge

When combining configuration states or environment presets, developers often face object composition choices. A shallow merge (similar to standard Object.assign) overwrites top-level keys entirely if a match exists. A deep merge walks sub-objects recursively, preserving distinct nested properties from both source trees and only resolving conflicts at terminal value nodes.

Handling Array Unification Strategies

Arrays are ordered lists, making direct value matching ambiguous. Our merger implements four separate strategies:

  • Union (Default): Appends right elements to left and filters out duplicates, creating a clean list of unique primitives or objects.
  • Concatenate: Simply appends right array values to the end of left array, preserving all original elements.
  • Intersection: Isolates and returns only elements that exist in both list files.
  • Replace: Discards the left list completely, replacing it with the right list value.

Frequently Asked Questions

How does conflict resolution work?

When the same property key exists in both documents with different values, you can set the conflict strategy. Keep Right prioritizes Document B's payload. Keep Left prioritizes Document A's payload, skipping overwrite actions on matches.

Are there limits on payload size during merges?

No. By parsing and compiling within dedicated browser background threads, we keep the main workspace fluid even when aligning logs and database exports totaling megabytes.

Related JSON Suit Utilities

Learning Resources & Tutorials

Master the intricacies of parsing and schemas for JSON Merge.

Suggested Learning

Article

Intro to JSON Schema Specification

5 min read
Article

Designing Safe API Payloads using JSON Linter

8 min read
Video

Debugging JSON syntax issues instantly

4 min

Integration Examples

Standard ConfigurationJSON

Typical developer setting schema.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "port": { "type": "integer", "default": 3000 }
  }
}