内存中的 JSON 文档对象。类型名必须写 JSON类(不要写 JSON)。
常与 HTTP类 组请求体 / 解析响应。
1. 快速开始
JSON类 j
如果 (j.解析("{\"token\":\"abc\",\"items\":[{\"id\":1},{\"id\":2}]}") == 假) {
输出(j.取错误())
返回()
}
输出(j.取文本("token")) ' abc
输出(到文本(j.取整数("items[0].id"))) ' 1
输出(到文本(j.取成员数("items"))) ' 2
JSON类 req
req.置为空对象()
req.置文本("user", "u1")
req.置整数("ts", 1700000000)
文本 payload = req.到文本() ' 紧凑 JSON 文本
从文件加载(UTF-8,可含 BOM):
j.加载("配置.json")
2. 路径语法
- 对象成员:
a.b.c - 数组下标:
items[0].id - 空路径:表示根
取文本 会把数字等转成文本;要整数运算用 取整数;要保留原始类型用 取数据(返回「通用」)。
3. 常用方法
| 方法 | 说明 |
|---|---|
解析(文本) |
解析 JSON 字符串;失败时保留旧树 |
加载(路径) |
从 UTF-8 文件加载 |
到文本([美化]) |
序列化;j.到文本() ≠ 全局 到文本(j) |
取错误 / 清空 |
错误信息;清空文档 |
置为空对象 / 置为空数组 |
把根设成 {} / [] |
取文本 / 取整数 / 取小数 / 取逻辑 / 取数据 |
按路径读取 |
是否存在 / 取成员数 |
存在性 / 数组长度或对象成员数 |
置文本 / 置整数 / 置小数 / 置逻辑 / 置空 |
按路径写入(中间路径可自动创建) |
删除 |
按路径删除 |
4. 数组示例
JSON类 arr
arr.置为空数组()
arr.置整数("[0]", 9)
arr.置整数("[1]", 10)
输出(arr.到文本()) ' [9,10]
5. 注意
- 类型名必须是
JSON类。 解析失败返回假,并可通过取错误查看原因;成功前的文档内容是否保留以实现为准(当前失败保留旧树)。- 路径写错时读取通常得到空/0/假,可用
是否存在先判断。