类对象支持库(不是扁平命令)。路径:支持库 → 扩展类库 → JSON类。
类型名必须写完整「JSON类」。声明时自动创建,一般无需再调 创建*。
硬约束
- 类型名必须写「JSON类」。
- 解析后按路径读写;组请求体时注意类型。
- 方法调用必须带括号。
快速开始
JSON类 j
如果 (j.解析("{\"a\":1}")) {
输出(j.取("a"))
}
JSON类/创建
共 1 条。
创建JSON
- 签名:
通用 创建JSON() - 说明:显式创建一个 JSON 文档对象(一般直接写「JSON类 j」即可,声明时自动创建)。
JSON类/方法
共 20 条。
解析
- 签名:
逻辑 解析(文本 JSON文本) - 说明:把 JSON 文本解析进当前对象;成功返回真,失败返回假(看 取错误())。
- 参数一│文本 JSON文本: 完整 JSON(对象/数组/标量均可)。
加载
- 签名:
逻辑 加载(文本 文件路径) - 说明:按 UTF-8 直接读文件并极速解析(跳过整文件宽字符往返,适合大 JSON 文件)。
- 参数一│文本 文件路径: 本地.json 路径。
到文本
- 签名:
文本 到文本([逻辑 美化]) - 说明:把当前文档序列化为 JSON 文本。
- 参数一│[逻辑 美化]: 真=缩进换行;省略或假=紧凑一行。
取错误
- 签名:
文本 取错误() - 说明:返回最近一次失败操作的错误信息;无错时为空文本。
清空
- 签名:
无 清空() - 说明:清空文档(根变为 null)。
置为空对象
- 签名:
无 置为空对象() - 说明:把根设为 {},用于从头构造请求体。
置为空数组
- 签名:
无 置为空数组() - 说明:把根设为 [],用于从头构造数组。
取文本
- 签名:
文本 取文本(文本 路径, [文本 默认]) - 说明:按路径取值并转为文本;不存在或为 null 时返回默认值。 路径可用 items[0].id;整数/小数/逻辑也会转成文本,不必先区分类型。
- 参数一│文本 路径: 如 “data.token”、”items[0].id”。
- 参数二│[文本 默认]: 找不到时返回;省略为空文本。
取数据
- 签名:
通用 取数据(文本 路径) - 说明:按路径取任意类型节点,返回「通用」(不强制转文本)。 适合:不知道是文本还是数字,或要拿子对象/子数组再处理。
- 参数一│文本 路径: 如 “items[0].id”、”data”;空路径=整棵根。
取整数
- 签名:
整数 取整数(文本 路径, [整数 默认]) - 说明:按路径取整数;不存在或无法转换时返回默认值。
- 参数一│文本 路径。
- 参数二│[整数 默认]: 省略为 0。
取小数
- 签名:
小数 取小数(文本 路径, [小数 默认]) - 说明:按路径取小数;不存在或无法转换时返回默认值。
- 参数一│文本 路径。
- 参数二│[小数 默认]: 省略为 0。
取逻辑
- 签名:
逻辑 取逻辑(文本 路径, [逻辑 默认]) - 说明:按路径取逻辑值;不存在或无法转换时返回默认值。
- 参数一│文本 路径。
- 参数二│[逻辑 默认]: 省略为假。
是否存在
- 签名:
逻辑 是否存在(文本 路径) - 说明:判断路径是否存在(含值为 null 的键)。
- 参数一│文本 路径: 空路径表示根(恒为真)。
取成员数
- 签名:
整数 取成员数([文本 路径]) - 说明:取对象键数或数组长度;路径省略/空=根。
- 参数一│[文本 路径]: 目标对象或数组;省略为根。
置文本
- 签名:
逻辑 置文本(文本 路径, 文本 值) - 说明:按路径写入字符串;中间对象/数组不存在时自动创建。
- 参数一│文本 路径。
- 参数二│文本 值。
置整数
- 签名:
逻辑 置整数(文本 路径, 整数 值) - 说明:按路径写入整数;中间路径自动创建。
- 参数一│文本 路径。
- 参数二│整数 值。
置小数
- 签名:
逻辑 置小数(文本 路径, 小数 值) - 说明:按路径写入小数;中间路径自动创建。
- 参数一│文本 路径。
- 参数二│小数 值。
置逻辑
- 签名:
逻辑 置逻辑(文本 路径, 逻辑 值) - 说明:按路径写入逻辑值;中间路径自动创建。
- 参数一│文本 路径。
- 参数二│逻辑 值。
置空
- 签名:
逻辑 置空(文本 路径) - 说明:按路径写入 JSON null。
- 参数一│文本 路径。
删除
- 签名:
逻辑 删除(文本 路径) - 说明:删除路径上的成员;数组下标删除后后面元素前移。
- 参数一│文本 路径: 空路径表示清空整棵树为 null。
易错对照
| 错误 | 正确 |
|---|---|
| 类型写成 JSON | 必须「JSON类」 |
| 路径写错当有值 | 先判断解析/取值是否成功 |