JSON
检查 JSON 内容
对 JSON 标识做路径、名称、数值或对象相等判断,适用于结构化数据校验和分支判断。
命令用途
CheckJson 用于对 JSON 内容做条件判断。
它通常用于检查某个路径是否存在、某一层是否包含指定名称或数值,或者比较两个 JSON 标识的内容是否相同。
命令名
CheckJson
调用格式
CheckJson <标识> <方法> <值> [选项]
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
标识 | 是 | 要判断的 JSON 标识。 |
方法 | 是 | 支持 X、N、V、E。X 判断路径是否存在,N 判断名称是否存在,V 判断数值是否存在,E 判断两个 JSON 内容是否相同。 |
值 | 是 | 当前判断使用的路径、名称、数值或另一个 JSON 标识。 |
选项 | 否 | 在 N、V 等场景下可补 0/1,表示是否嵌套检查子节点。 |
返回或影响
- 这是检查型命令,只能在条件判断流程中使用。
- 条件成立时,
#IF判断通过。 - 它只负责判断 JSON 内容,不负责初始化 JSON 或读取具体值。
- 如果后续要取值,通常要配合
JSON命令或<$JSON(...)>标签。
示例
基础用法
#IF
CheckJson 活动数据 X rewards[0]
#ACT
SendMsg 7 "已检测到奖励配置。"
这段写法用于判断 活动数据 中是否存在 rewards[0] 这个路径节点。
常见变体
#IF
CheckJson myjson1 N name2 1
#ACT
SendMsg 6 "包含名称,数值是:<$JSON(myjson1)myobj.subobj.name2>"
这类写法用于嵌套检查子节点名称是否存在,并在成功后继续读取对应 JSON 值。
注意事项
CheckJson只负责判断,不负责创建 JSON 标识;判断前应先确认对应 JSON 已初始化。N和V这类判断是否做嵌套检查,取决于最后一个可选参数是否传入1。- 如果你的目标是取值而不是判断,直接看
JSON命令和<$JSON(...)>标签会更合适。
