JSON
合并 JSON 对象内容
把源 JSON 的对象项合并到目标 JSON,适用于补齐默认字段、同步配置模板和按规则覆盖已有结果。
命令用途
Json-AddOrUpdateObject 对应的实际命令写法是 JSON <标识> AddOrUpdateObject,用于把源 JSON 标识中的对象项合并到目标 JSON。
它适合把一份默认配置补到目标结果里,或者在需要时让源 JSON 的同名字段覆盖目标字段。
命令名
Json-AddOrUpdateObject
调用格式
JSON <标识> AddOrUpdateObject <源标识> [类型]
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
标识 | 是 | 目标 JSON 标识,用于接收合并结果。 |
AddOrUpdateObject | 是 | 固定子命令,表示把源对象项合并到目标标识。 |
源标识 | 是 | 提供对象内容的源 JSON 标识。 |
类型 | 否 | 合并方式。0 表示只补目标中不存在的项,1 表示同名项以源标识为准覆盖目标。 |
返回或影响
- 该命令会把源 JSON 的对象项合并到目标 JSON 中。
类型=0时更像补齐默认字段,不改目标已有同名值。类型=1时会用源 JSON 覆盖目标中已存在的同名字段。
示例
基础用法
#ACT
JSON dst InitJson {a:10000,b:200,c:"id"}
JSON src InitJson {a:"str",d:500,e:7002}
JSON tmp InitFrom dst
JSON tmp AddOrUpdateObject src 0
这段写法会把 src 中目标不存在的字段补到 tmp,但不会覆盖 tmp 里已经存在的 a。
常见变体
#ACT
JSON tmp InitFrom dst
JSON tmp AddOrUpdateObject src 1
这类写法会把 src 中的同名字段也一起覆盖到 tmp,适合按源对象结果整体刷新目标配置。
注意事项
- 这条命令处理的是对象项合并,不是数组拼接。
类型=0和类型=1的差别很关键,一个是补齐缺项,一个是允许覆盖;用错会直接改变目标结果。- 如果你只想更新单个字段,不需要整份对象合并,通常用
Json-AddOrUpdateValue会更直接。
