deep_merge_json

Function deep_merge_json 

Source
pub fn deep_merge_json(base: Value, overrides: &Value) -> Value
Expand description

Perform a deep merge of two JSON values.

Recursively merges overrides into base. For objects, fields from overrides are added or replace fields in base. For arrays and primitives, overrides completely replaces base.

§Arguments

  • base - The base JSON value
  • overrides - The override values to merge into base

§Returns

Returns the merged JSON value.

§Examples

use serde_json::json;
use agpm_cli::templating::deep_merge_json;

let base = json!({ "project": { "name": "agpm", "language": "rust" } });
let overrides = json!({ "project": { "language": "python", "framework": "fastapi" } });

let result = deep_merge_json(base, &overrides);
// result: { "project": { "name": "agpm", "language": "python", "framework": "fastapi" } }