YStudio Y++

JSON类

Y++ / YStudio 开发文档 · 一点滴

类对象支持库(不是扁平命令)。路径:支持库 → 扩展类库 → JSON类。

类型名必须写完整「JSON类」。声明时自动创建,一般无需再调 创建*。

硬约束

  1. 类型名必须写「JSON类」。
  2. 解析后按路径读写;组请求体时注意类型。
  3. 方法调用必须带括号。

快速开始

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类」
路径写错当有值 先判断解析/取值是否成功

相关

HTTP类 · 查询串类