pub fn deep_merge_json(base: Value, overrides: &Value) -> ValueExpand 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 valueoverrides- 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" } }