数据函数

JSON数据

10 个函数

判断JSON是否有效

Data.jsonValid(json: string): integer

用途:判断传入文本是不是有效 JSON。 支持:对象、数组、字符、数字、布尔值和 null。 示例: Data.jsonValid("{\"name\":\"小明\"}") 返回 1 Data.jsonValid("{name:小明}") 返回 0

参数1 项
序号名称类型参数说明
1 json 传入完整 JSON 文本,或保存 JSON 的字符变量。 对象示例:{"name":"小明","age":18} 数组示例:[0,2,4] 基本值示例:"文字"、123、true、null
返回值返回值可以不接收
序号名称类型返回说明
1 valid JSON 文本能否成功解析。
  • 1:内容是有效 JSON,包括对象、数组和基本值
  • 0:内容为空或 JSON 格式错误

获取JSON数量

Data.jsonSize(json: string): integer

用途:统计根数组的元素数量,或根对象的字段数量。 数组示例:Data.jsonSize("[1,3,5]") 返回 3 对象示例:Data.jsonSize("{\"name\":\"小明\",\"age\":18}") 返回 2 嵌套内容先取出再统计: 项目数组 = Data.jsonGetJson(数据,"items") 数量 = Data.jsonSize(项目数组)

参数1 项
序号名称类型参数说明
1 json 传入完整 JSON 文本,或保存 JSON 的字符变量。 对象示例:{"name":"小明","age":18} 数组示例:[0,2,4] 基本值示例:"文字"、123、true、null
返回值返回值可以不接收
序号名称类型返回说明
1 size 根数组的元素数或根对象的字段数。
  • 正整数:根数组或根对象实际包含的数量
  • 0:空数组、空对象、基本值或无效 JSON

获取JSON键名

Data.jsonKeys(json: string): string

用途:获取根对象的全部字段名,方便遍历不知道名称的字段。 示例:Data.jsonKeys("{\"name\":\"小明\",\"age\":18}") 返回 ["age","name"] 遍历键名: 键名数组 = Data.jsonKeys(数据) 数量 = Data.jsonSize(键名数组) 键名 = Data.jsonGetText(键名数组,"["..整转字(position).."]") 循环时 position 从 0 到 数量-1。

参数1 项
序号名称类型参数说明
1 json 传入完整 JSON 文本,或保存 JSON 的字符变量。 对象示例:{"name":"小明","age":18} 数组示例:[0,2,4] 基本值示例:"文字"、123、true、null
返回值返回值可以不接收
序号名称类型返回说明
1 keys 由根对象字段名组成的 JSON 数组字符。
  • ["键名",...]:根对象存在一个或多个字段
  • []:空对象、输入不是对象或 JSON 无效

判断JSON字段存在

Data.jsonHas(json: string, path: string): integer

用途:判断路径能否找到,不读取字段内容。 路径填 "" 时判断根 JSON。 示例:数据 = {"profile":{"city":"上海"},"tags":["开发"]} Data.jsonHas(数据,"profile.city") 返回 1 Data.jsonHas(数据,"tags[1]") 返回 0

参数2 项
序号名称类型参数说明
1 json 传入完整 JSON 文本,或保存 JSON 的字符变量。 对象示例:{"name":"小明","age":18} 数组示例:[0,2,4] 基本值示例:"文字"、123、true、null
2 path 路径填法: "":读取根值,没有字段名时使用 "name":读取根对象字段 "user.name":读取嵌套对象字段 "[0]":读取根数组第 1 项 "items[0].id":读取对象中的数组项字段 "matrix[1][2]":读取二维数组 数组索引从 0 开始。 字段名中暂不支持 .、[、]。
返回值返回值可以不接收
序号名称类型返回说明
1 exists 指定 JSON 路径是否存在。
  • 1:路径存在;空路径且根 JSON 有效时也返回 1
  • 0:路径不存在、数组越界或 JSON 错误

获取JSON字符字段

Data.jsonGetText(json: string, path: string): string

用途:读取指定路径,并把结果转换为字符。 路径填 "" 可直接读取根值。 示例:数据 = {"user":{"name":"小明"},"codes":[1001,1002]} Data.jsonGetText(数据,"user.name") 返回 小明 Data.jsonGetText(数据,"codes[0]") 返回 1001

参数2 项
序号名称类型参数说明
1 json 传入完整 JSON 文本,或保存 JSON 的字符变量。 对象示例:{"name":"小明","age":18} 数组示例:[0,2,4] 基本值示例:"文字"、123、true、null
2 path 路径填法: "":读取根值,没有字段名时使用 "name":读取根对象字段 "user.name":读取嵌套对象字段 "[0]":读取根数组第 1 项 "items[0].id":读取对象中的数组项字段 "matrix[1][2]":读取二维数组 数组索引从 0 开始。 字段名中暂不支持 .、[、]。
返回值返回值可以不接收
序号名称类型返回说明
1 value 指定路径转换后的字符内容。
  • 字符内容:读取成功;数字和布尔值会转换成文字
  • 空字符:原值为空字符或 null、路径不存在、数组越界或 JSON 无效

获取JSON整数字段

Data.jsonGetInt(json: string, path: string): integer

用途:读取整数、数字、布尔值或数字字符,并转换为整数。 路径填 "" 可直接解析没有字段名的根值。 普通示例:Data.jsonGetInt(数据,"count") 根数组示例:Data.jsonGetInt(数组,"[0]") 遍历示例:Data.jsonGetInt(数组,"["..整转字(position).."]") 转换规则:true 返回 1,false 返回 0,2.8 返回 2。

参数2 项
序号名称类型参数说明
1 json 传入完整 JSON 文本,或保存 JSON 的字符变量。 对象示例:{"name":"小明","age":18} 数组示例:[0,2,4] 基本值示例:"文字"、123、true、null
2 path 路径填法: "":读取根值,没有字段名时使用 "name":读取根对象字段 "user.name":读取嵌套对象字段 "[0]":读取根数组第 1 项 "items[0].id":读取对象中的数组项字段 "matrix[1][2]":读取二维数组 数组索引从 0 开始。 字段名中暂不支持 .、[、]。
返回值返回值可以不接收
序号名称类型返回说明
1 value 指定路径转换后的整数。
  • 任意整数:整数、数字、布尔值或数字字符转换成功
  • 0:原值为 0/false,或路径不存在、数组越界、JSON 无效、转换失败

获取JSON浮点字段

Data.jsonGetFloat(json: string, path: string): number

用途:读取数字、布尔值或数字字符,并转换为浮点数。 路径填 "" 可直接解析没有字段名的根值。 示例:数据 = {"price":12.5,"discount":0.8} Data.jsonGetFloat(数据,"price") 返回 12.5 Data.jsonGetFloat(数据,"discount") 返回 0.8

参数2 项
序号名称类型参数说明
1 json 传入完整 JSON 文本,或保存 JSON 的字符变量。 对象示例:{"name":"小明","age":18} 数组示例:[0,2,4] 基本值示例:"文字"、123、true、null
2 path 路径填法: "":读取根值,没有字段名时使用 "name":读取根对象字段 "user.name":读取嵌套对象字段 "[0]":读取根数组第 1 项 "items[0].id":读取对象中的数组项字段 "matrix[1][2]":读取二维数组 数组索引从 0 开始。 字段名中暂不支持 .、[、]。
返回值返回值可以不接收
序号名称类型返回说明
1 value 指定路径转换后的浮点数。
  • 浮点数:数字、布尔值或数字字符转换成功
  • 0:原值为 0/false,或路径不存在、数组越界、JSON 无效、转换失败

获取JSON布尔字段

Data.jsonGetBool(json: string, path: string): integer

用途:读取真假状态,并转换为整数 1 或 0。 路径填 "" 可直接解析没有字段名的根值。 示例:数据 = {"visible":true,"deleted":false} Data.jsonGetBool(数据,"visible") 返回 1 Data.jsonGetBool(数据,"deleted") 返回 0 可识别:true、非零数字、字符 true、1、yes。

参数2 项
序号名称类型参数说明
1 json 传入完整 JSON 文本,或保存 JSON 的字符变量。 对象示例:{"name":"小明","age":18} 数组示例:[0,2,4] 基本值示例:"文字"、123、true、null
2 path 路径填法: "":读取根值,没有字段名时使用 "name":读取根对象字段 "user.name":读取嵌套对象字段 "[0]":读取根数组第 1 项 "items[0].id":读取对象中的数组项字段 "matrix[1][2]":读取二维数组 数组索引从 0 开始。 字段名中暂不支持 .、[、]。
返回值返回值可以不接收
序号名称类型返回说明
1 value 指定路径转换后的真假状态。
  • 1:字段为 true、非零数字或 true/1/yes 文本
  • 0:字段为 false、0、其他文本,或路径不存在、JSON 无效

获取JSON对象数组字段

Data.jsonGetJson(json: string, path: string): string

用途:整体取出对象、数组或原始值,结果仍是 JSON 字符。 路径填 "" 可返回完整根 JSON。 示例:订单数组 = Data.jsonGetJson(数据,"orders") 第一项ID = Data.jsonGetInt(订单数组,"[0].id") 对象返回 {...},数组返回 [...],字符值会保留 JSON 引号。

参数2 项
序号名称类型参数说明
1 json 传入完整 JSON 文本,或保存 JSON 的字符变量。 对象示例:{"name":"小明","age":18} 数组示例:[0,2,4] 基本值示例:"文字"、123、true、null
2 path 路径填法: "":读取根值,没有字段名时使用 "name":读取根对象字段 "user.name":读取嵌套对象字段 "[0]":读取根数组第 1 项 "items[0].id":读取对象中的数组项字段 "matrix[1][2]":读取二维数组 数组索引从 0 开始。 字段名中暂不支持 .、[、]。
返回值返回值可以不接收
序号名称类型返回说明
1 value 指定路径节点的标准 JSON 字符。
  • {...}/[...]/基本值:路径读取成功并序列化为 JSON
  • 空字符:路径不存在、数组越界或 JSON 无效

获取JSON字段类型

Data.jsonType(json: string, path: string): string

用途:获取指定路径的 JSON 类型,不读取字段内容。 路径填 "" 可判断根 JSON 类型。 返回类型:object、array、string、number、boolean、null。 示例:对象字段返回 object,数组字段返回 array,字符字段返回 string。

参数2 项
序号名称类型参数说明
1 json 传入完整 JSON 文本,或保存 JSON 的字符变量。 对象示例:{"name":"小明","age":18} 数组示例:[0,2,4] 基本值示例:"文字"、123、true、null
2 path 路径填法: "":读取根值,没有字段名时使用 "name":读取根对象字段 "user.name":读取嵌套对象字段 "[0]":读取根数组第 1 项 "items[0].id":读取对象中的数组项字段 "matrix[1][2]":读取二维数组 数组索引从 0 开始。 字段名中暂不支持 .、[、]。
返回值返回值可以不接收
序号名称类型返回说明
1 type 指定路径节点的 JSON 类型名称。
  • object/array/string/number/boolean:路径存在且值不是 null
  • null:值为 null、路径不存在、数组越界或 JSON 无效