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 会更直接。

相关命令