Main Content

jsondecode

解码 JSON 格式的文本

说明

示例

value = jsondecode(txt) 可以解析 JSON 文本。

示例

全部折叠

显示 JSON 格式的字符串 ["one", "two", "three"]

jsondecode('["one", "two", "three"]')
ans = 3x1 cell
    {'one'  }
    {'two'  }
    {'three'}

输入参数

全部折叠

JSON 格式的文本,指定为字符串标量或字符向量。可使用 matlab.lang.makeValidName 将 JSON 文本中的无效名称变成有效名称。

示例: '{"IDs":[116,943,234,38793]}'

数据类型: char

输出参量

全部折叠

以解码的 JSON 格式文本形式返回的 MATLAB 数据。value 取决于 txt 中编码的数据。

局限性

  • 如果您对某个值解码,然后对其编码,则 MATLAB 不能保证结果与原始字符串相同。特别是,JSON 对象中属于无效 MATLAB 标识符的字段名称可能会被 makeValidName 函数更改。

算法

JSON 支持的数据类型比 MATLAB 少。jsondecode 将 JSON 数据类型转换为下表中的 MATLAB 数据类型。jsondecode 将 JSON 对象字段名称转换为 MATLAB 结构体字段名称。

JSON 数据类型

MATLAB 数据类型

数值数组中的空值

NaN

非数值数组中的空值

空的 double []

布尔值

标量 logical

数值

标量 double

字符串

字符向量

对象(在 JSON 中,对象表示一组未排序的名称-值对组。)

标量结构体(使用 matlab.lang.makeValidName 将名称变成有效名称。)

元素属于不同数据类型时的数组

元胞数组

布尔值数组

logical 数组

数值数组

double 数组

字符串数组

字符向量元胞数组

对象数组 - 相同字段名称

结构体数组

对象数组 - 不同字段名称

标量结构体元胞数组

扩展功能

基于线程的环境
使用 MATLAB® backgroundPool 在后台运行代码或使用 Parallel Computing Toolbox™ ThreadPool 加快代码运行速度。

版本历史记录

在 R2016b 中推出