主要内容

jsonencode

从结构化创建json格式的文本MATLAB数据

描述

例子

txt = jsonencode (数据)编码数据并返回JSON格式的特征向量。

txt = jsonencode (数据,名称,值)编码数据使用一个或多个名称-值对参数。

例子

全部折叠

值= {“一个”;“两个”;“三”};jsonencode(值)
ans = '[“一”,“两个”,“三”)”

jsonencode编码作为字符串枚举没有属性。

在= matlab.lang.OnOffSwitchState.on;jsonencode(上)
ans = '”“

默认情况下,jsonencode编码枚举属性为JSON字符串。你可以定制这一行为。

创建SyntaxColors所示的类枚举类中定义的属性属性和一个枚举

jsonencode作为一个JSON字符串编码枚举。

jsonencode (SyntaxColors.Error)
ans =“错误”的

添加一个自定义jsonencode函数。MATLAB的函数必须具有相同的签名®jsonencode函数。更新后的方法块:

方法函数c = SyntaxColors c (r, g, b)。R = R;c。G = G;c。B = B;结束函数json = jsonencode (obj,变长度输入宗量)s =结构(“R”obj.R,‘G’obj.G,“B”,obj.B);json = jsonencode(年代,变长度输入宗量{:});结束结束

创建一个结构和显示调用编码值jsonencode中定义的SyntaxColors

呃= SyntaxColors.Error;s =结构(“错误”,错);jsonencode (s)
ans = "{"错误":{“R”: 1、“G”: 0,“B”: 0}}”

结构体包含不同的数据类型转换为JSON。

年代。宽度= 800;年代。身高= 600;年代。Title =“从15楼”;年代。一个nimated = false; s.IDs = [116, 943, 234, 38793]; jsonencode(s,PrettyPrint=true)
ans = '{“宽度”:800年,“高度”:600年,“标题”:“从15楼”,“动画”:假的,“id”: [116、943、234、38793]}”

输入参数

全部折叠

MATLAB MATLAB数据,指定为任何受支持的数据类型。金宝app有关更多信息,请参见限制。自定义信息jsonencode枚举,请参阅自定义编码枚举属性

例子:年代。id = (116、943、234、38793)

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:jsonencode(负无穷,ConvertInfAndNaN = false)

自定义编码特殊浮点值的南,正无穷,无穷,指定为一个数字或逻辑1(真正的)或0()。一个真正的值对浮点值进行编码。一个值编码值作为文字,,或

数据类型:逻辑

增加缩进,指定为真正的。MATLAB显示了JSON文本的缩进两个空格。

数据类型:逻辑

限制

  • jsonencode不支持复数或稀疏阵金宝app列。对象必须具有公共属性编码为名称-值对得到方法上定义对象属性。jsonencode不支持隐藏属性。金宝app

  • jsonencode不支持递归结构,比金宝app如图形对象包含对父进程和子对象的引用。

  • 如果你编码,解码一个值,MATLAB不保证保留了数据类型。JSON支金宝app持数据类型少于MATLAB,这导致损失的类型信息。例如,JSON数据没有区分int32。如果你编码一个int32值,然后调用jsondecode,解码值类型

  • MATLAB的形状并不能保证一个数组保存。例如,1)×(n数值向量编码为一个数组。如果你叫jsondecode,然后用MATLAB解码数组作为n×1的向量。

提示

  • 保留换行转义字符\ n,可以使用换行符函数。

    jsonencode ([“一个”换行符“两个”])
    ans = '“\ ntwo之一”
  • 保留其他\转义字符,考虑调用sprintf在输入。测试输入,看看sprintf产生期望的结果。

    jsonencode (sprintf (“AB \浴室”))
    ans = '“AB \浴室”
  • 如果输入包含一个双引号字符,然后插入功能\转义字符。

    jsonencode (“一个”两个”)
    ans = '两个“1 \ '

算法

JSON支金宝app持数据类型少于MATLAB。jsonencode将MATLAB数据类型转换为JSON数据类型列在这里。

MATLAB数据类型

JSON数据类型

例子

输出

数组,空

数组,空

jsonencode ([])
jsonencode (string.empty)
“[]”

逻辑标量

布尔

jsonencode(真正的)
“真正的”

逻辑向量

数组的布尔

jsonencode([真,假,假)
(真的,假的,假的)的

逻辑阵列

嵌套数组的布尔

jsonencode(逻辑([0,1,0,1,1,0]))
的[[假的,真的,假的],[真,真的,假]]”

特征向量

字符串

jsonencode (“这是一个char。”)
“这是一个char。””

字符数组

字符串数组

jsonencode ([“交流”;“如”])
”(“交流”,“如”)”

字符串标量

字符串

jsonencode (“这是一个字符串。”)
“这是一个字符串。”

字符串向量

字符串数组

jsonencode ([“交流”;“如”])
”(“交流”,“如”)”

字符串数组

嵌套的数组字符串

jsonencode ([“交流”,“如”;“BD”,“跳频”])
”[[“交流”,“如”],[“BD”、“跳频”]]”

空的特征向量

字符串

jsonencode ()
“”“”

<失踪>

jsonencode (string(南))
“零”

数字标量

数量

jsonencode (2.5)
“2.5”

数值向量

一系列的数字

jsonencode (1:3)
“[1,2,3]”

数字数组

嵌套数组的数字

jsonencode(眼(2))
“[[1,0],[0,1]]”

复数

不支持金宝app

对象的数组

Name = {“琼斯”;“棕色”};年龄=(40;49岁);jsonencode(表(姓名、年龄))
“[{“名称”:“琼斯”,“年龄”:40},{“名称”:“褐色”,“年龄”:49}]”

细胞标量

1个元素的数组

jsonencode ({5})
“[5]”

细胞向量

数组

jsonencode ({“一个”,真的,(2,3)})
”(“a”,真的,[2、3]]”

单元阵列

一维数组被夷为平地

jsonencode ({1 2; 3 4})
(1、3、2、4)”

结构标量
对象标量

对象
对象(公共属性编码名称-值对。)

jsonencode(结构体(“一个”,“价值”))
“{””:“价值”}’

结构向量
对象的向量

对象的数组

jsonencode(结构体(“一个”{真的,真、假}))
“[{“a”:真},{“a”:真},{“a”:假}]”

结构数组
对象数组

嵌套的数组对象

datetime标量

字符串(字符串方法将日期和时间转换为字符串格式)。

jsonencode (datetime (“明天”))
“04 - 11月- 2016”的

datetime向量

字符串数组

DT = datetime ({“2015年4月8日”,2015年5月9日的},“InputFormat”,“d嗯yyyy”);jsonencode (DT)
”(08 - 4月- 2015”,“09 - 2015年5月——”)”

datetime数组

嵌套的数组字符串

DT = datetime ([{2015年4月的,2015年5月的},{2015年6月的,2015年7月的}),“InputFormat”,“嗯yyyy”);jsonencode (DT)
的[[“01 - 4月- 2015”,“01 - 2015年5月——”],[“01 - jun - 2015”,“01 - 2015年7月——”]]”

绝对标量

字符串(字符串方法用于创建字符串格式。)

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”]]”

containers.Map

对象

jsonencode (containers.Map ({“1月”,2月的,“3”},[327368197]))
”{2月”:368年,“简”:327年,“3”:197}”


jsonencode([1、2、南3正))
(1、2、零3零)”

枚举

字符串

jsonencode (matlab.lang.OnOffSwitchState.on)
“”“”

通过一个标量MATLAB对象作为标量JSON数组(包含在[]字符),转换对象使用单元阵列构造操作符{}。例如,下面的代码转换的值特性字段为一个标量JSON数组。

S =结构(“特征”结构(“类型”,“特性”,“几何”,结构(“类型”,“点”,“坐标”,(-105年,40))));年代。特点= {S.features};s = jsonencode (s)
年代={“特征”:[{“类型”:“特性”、“几何”:{“类型”:“点”、“坐标”:[-105,40]}}]}”

版本历史

介绍了R2016b

全部展开

行为改变R2021a

行为改变R2017b

另请参阅

|