从结构化文档创建JSON格式的文本MATLAB数据
jsonencode
不支持复数或稀疏数金宝app组。对象的公共属性必须编码为具有收到
在对象属性上定义的方法。
jsonencode
不支持递归结构,例金宝app如包含对父对象和子对象的引用的图形对象。
如果对一个值进行编码,然后进行解码,则MATLAB不能保证数据类型被保留。JSON支持的数据类型比MATLAB少,这导致类型信息丢失。例如,JSON数据不区分金宝app双重的
和int32
.如果您对int32
值,然后调用jsondecode
,则解码值为类型双重的
.
MATLAB不能保证阵列的形状得到保留。例如,一个1×N的数值向量被编码为一个数组。如果你打电话jsondecode
,然后MATLAB将数组解码为N×1矢量。
保留换行符转义字符的步骤\n
,使用新线
作用
jsonencode([“一个”新线“两个”])
ans='一个\n两个''
保存其他\
转义字符,考虑调用把格式数据写成串
在输入。测试您的输入,看看是否把格式数据写成串
创建所需的结果。
jsonencode(sprintf(“AB\tCD”))
ans=''AB\tCD''
如果输入包含双引号字符"
,然后函数插入\
转义字符。
jsonencode(一“二”)
ans='一\'二''
JSON支金宝app持的数据类型比MATLAB少。jsonencode
将MATLAB数据类型转换为此处列出的JSON数据类型。
MATLAB数据类型 |
JSON数据类型 |
实例 |
输出 |
---|---|---|---|
数组,空 |
数组,空 |
jsonencode([]) jsonencode(string.empty) |
'[]' |
逻辑标量 |
布尔值 |
jsonencode(真) |
“真的” |
逻辑向量 |
布尔数组 |
jsonencode([true,false,false]) |
“[真,假,假]” |
逻辑阵列 |
布尔型嵌套数组 |
jsonencode(逻辑([0,1,0;1,1,0])) |
“[[假,真,假],[真,真,假]] |
特征向量 |
一串 |
jsonencode(“这是一个字符。”)
|
“这是一个字符。” |
字符数组 |
字符串数组 |
jsonencode([“AC”;“例如”]) |
“[“AC”,“EG”]” |
字符串标量 |
一串 |
jsonencode(“这是一个字符串。”)
|
“这是一个字符串。” |
字符串向量 |
字符串数组 |
jsonencode([“AC”;“例如”]) |
“[“AC”,“EG”]” |
字符串数组 |
嵌套字符串数组 |
jsonencode([“AC”,“例如”;“BD”,“FH”]) |
“[“AC”、“EG”、“BD”、“FH”]” |
空字符向量 |
一串 |
jsonencode('')
|
'""' |
无效的 |
jsonencode(字符串(nan)) |
“空” |
|
数值标量 |
数字 |
jsonencode(2.5) |
'2.5' |
数值向量 |
数列 |
jsonencode(1:3) |
'[1,2,3]' |
数字数组 |
嵌套数列 |
jsonencode(眼睛(2)) |
'[[1,0],[0,1]]' |
复数 |
不支持金宝app |
||
桌子 |
对象数组 |
姓名={“琼斯”;“棕色”};年龄=[40;49];JSONECODE(表(名称、年龄)) |
“[{”姓名“:”琼斯“,”年龄“:40},{”姓名“:”布朗“,”年龄“:49}” |
细胞标量 |
1元素数组 |
jsonencode({5}) |
'[5]' |
细胞载体 |
大堆 |
jsonencode({“a”,true,[2;3]})
|
“[“a”,对[2,3]] |
单元阵列 |
阵列展平为一维 |
jsonencode({12;34}) |
'[1,3,2,4]' |
结构标量 |
对象 |
JSONECODE(结构(“a”,“价值”)) |
“{”a:“值”}” |
结构向量 |
对象数组 |
JSONECODE(结构(“a”,{true,true,false})
|
“[{a:true},{a:true},{a:false}” |
结构阵列 |
嵌套对象数组 |
||
日期时间标量 |
串( |
jsonencode(日期时间)(“明天”))
|
“2016年11月4日” |
日期时间向量 |
字符串数组 |
DT=日期时间({“2015年4月8日”,“2015年5月9日”},...“InputFormat”,“d嗯yyyy”);jsonencode(DT) |
“[“2015年4月8日”、“2015年5月9日”] |
日期时间数组 |
嵌套字符串数组 |
DT=日期时间(...[{“2015年4月”,“2015年5月”};{“2015年6月”,“2015年7月”}],...“InputFormat”,“MMMM-yyy”);jsonencode(DT) |
“[“2015年4月1日”、“2015年5月1日”、“2015年6月1日”、“2015年7月1日”]” |
范畴标量 |
串( |
jsonencode(分类({“r”}))
|
“r” |
分类向量 |
字符串数组 |
jsonencode(分类({“r”;“g”;“b”})) |
“[“r”、“g”、“b”]” |
范畴数组 |
嵌套字符串数组 |
jsonencode(分类(...{“r”“b”“g”;...“g”“r”“b”;...“b”“r”“g”})) |
“[“r”、“b”、“g”]、[“g”、“r”、“b”]、[“b”、“r”、“g”]” |
集装箱。地图 |
对象 |
jsonencode(containers.Map(...{“1月”,“二月”,“马尔”},...[327,368,197])) |
“{“二月”:368,“一月”:327,“三月”:197}” |
楠 |
无效的 |
jsonencode([1,2,NaN,3,Inf]) |
“[1,2,null,3,null]” |
列举 |
一串 |
jsonencode(matlab.lang.OnOffSwitchState.on) |
"on" |
将标量MATLAB对象作为标量JSON数组传递(包含在[]
字符),使用单元数组构造运算符转换对象{}
。例如,以下代码转换特征
字段转换为标量JSON数组。
S=结构(“特征”,结构(“类型”,“功能”,“几何学”,...结构(“类型”,“点”,“坐标”, [-105, 40]))); S.features={S.features};s=jsonencode(s)
s='{“要素”:[{“类型”:“要素”,“几何体”:{“类型”:“点”,“坐标”:[-105,40]}}