文档帮助中心文档
PrettyPrint.
jsonencode
从结构化创建JSON格式的文本马铃薯数据
txt = jsonencode(数据)
txt = jsonencode(数据,名称,值)
例子
txt = jsonencode (数据)编码数据并返回JSON格式的字符向量。
txt = jsonencode (数据)
数据
txt = jsonencode (数据,名称,值)编码数据使用一个或多个名称-值对参数。
txt = jsonencode (数据,名称,值)
名称,值
全部折叠
值= {“一个”;'二';'三'};jsonencode(价值)
ans = '[“一”,“两个”,“三”)”
jsonencode编码枚举,无属性作为字符串。
在= matlab.lang.OnoffSwitchState.on;jsonencode(开)
ans ='上“'
默认情况下,jsonencode将枚举属性编码为JSON字符串。您可以自定义此行为。
创造SyntaxColors类显示在定义枚举类中的属性与属性和一个枚举.
SyntaxColors
属性
枚举
jsonencode将枚举编码为JSON字符串。
jsonencode (SyntaxColors.Error)
ans ='“错误”'
添加一个自定义jsonencode函数。该函数必须具有与matlab相同的签名®jsonencode函数。更新后的方法块:
方法
方法函数c = SyntaxColors(r, g, b);c.G = g;c.B = b;结束函数Json = jsonencode(obj, varargin) s = struct(“R”,obj.r,'G'obj。克,'B',obj.b);json = jsonencode(s,varargin {:});结束结束
创建结构并显示编码值调用jsonencode中定义的SyntaxColors.
呃= SyntaxColors.Error;s =结构(“错误”,错);jsonencode (s)
ans = "{"错误":{“R”:1、“G”:0,“B”:0}}”
将包含不同数据类型的结构转换为JSON。
s.Width = 800;s.Height = 600;s.Title =“从15层往下看”;s.Animated = false;s.s id = [116,943, 234,38793];jsonencode(年代,“PrettyPrint”,真的)
ans ='{“宽度”:800,“高度”:600,“标题”:“从15楼的视图”,“动画”:false,“ID”:[116,943,234,38793]}'
MATLAB数据,指定为任何支持的MATLAB数据类型。万博1manbetx有关更多信息,请参见限制.有关定制的信息jsonencode枚举,请参阅使用属性自定义编码枚举.
例子:s.i. = [116, 943, 234, 38793]
s.i. = [116, 943, 234, 38793]
指定可选的逗号分隔的对名称,值论点。名称参数名和价值为对应值。名称必须出现在引号内。可以以任意顺序指定多个名称和值对参数name1,value1,...,namen,valuen.
名称
价值
name1,value1,...,namen,valuen
jsonencode(-inf,'convertinfandnan',false)
'convertinfandnan'
假
真正的
特殊浮点值的自定义编码NaN,INF,-INF,指定为真正的或假.一个真正的值对浮点值进行编码为零.一个假Value将值编码为文字南,∞, 要么-无穷.
零
南
∞
-无穷
数据类型:逻辑
逻辑
“PrettyPrint”
添加缩进,指定为真正的或假.MATLAB显示JSON文本,缩小两个空格。
jsonencode不支持复数或稀疏数万博1manbetx组。对象必须具有编码为名称-值对的公共属性得到对象属性定义的方法。
得到
jsonencode不支持递归结构,例万博1manbetx如包含对父和子对象引用的图形对象。
如果编码,则解码值,Matlab不保证数据类型保留。JSON支万博1manbetx持比MATLAB更少的数据类型,这导致丢失类型信息。例如,JSON数据不区分双倍的和INT32..如果编码一个INT32.价值然后致电JSondecode.,解码值是类型双倍的.
双倍的
INT32.
JSondecode.
MATLAB不保证阵列的形状被保留。例如,一个1-by-n数字矢量被编码为阵列。如果你打电话JSondecode., MATLAB将该数组解码为n × 1向量。
保留纽诺逃生人物\ n,可以使用新队函数。
\ n
新队
jsonencode([“一个”新队'二'])
ans ='“一个\ ntwo”'
保留其他\逃避角色,考虑呼叫sprintf在输入。测试您的输入,看看是否sprintf创建所需的结果。
\
sprintf
jsonencode (sprintf (“AB \浴室”))
ans = '“AB \浴室”
如果输入包含双引号字符",然后函数插入\逃生人物。
"
jsonencode('一二')
ans ='“一个”两个“'
JSON支万博1manbetx持比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';'例如'])
”(“交流”,“如”)”
字符串标量
jsonencode(“这是一根绳子。”)
“这是一个字符串。”'
字符串向量
jsonencode([“交流”;“如”])
嵌套字符串数组
jsonencode([“交流”,“如”;“BD”,“跳频”])
'[[ac“,”例如“],[”bd“,”fh“]'
空字符矢量
jsonencode('')
'“”
<缺失>
jsonencode(String(nan))
'无效的'
数字标量
数量
jsonencode(2.5)
“2.5”
数值向量
一系列的数字
jsonencode (1:3)
“[1,2,3]”
数字数组
嵌套数组
jsonencode(眼(2))
'[[1,0],[0,1]]'
复数
不支持万博1manbetx
表格
一系列对象
名称= {“琼斯”;'棕色的'};年龄= [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(struct('一种','价值'))
'{“一个值”}'
结构矢量对象的向量
jsonencode(struct('一种',{true,true,false}))
'[{“a”:true},{a“:true},{a”:false}]'
结构阵列对象数组
嵌套对象数组
datetime标量
字符串(细绳方法用于将日期和时间转换为字符串格式。)
细绳
jsonencode (datetime ('明天'))
'“04-11-2016”
datetime向量
dt = datetime({'2015年4月8日',2015年5月9日的},......'InputFormat',“d嗯yyyy”);jsonencode(dt)
'[“08-APR-2015”,“2015年5月 - 2015年”]“
datetime数组
dt = datetime(......[{2015年4月的,'2015年5月'}, {'2015年6月',2015年7月的}),......'InputFormat','mmmm yyyy');jsonencode(dt)
'[[01-APR-2015“,”01-May-2015“],[”01-Jun-2015“,”01-Jul-2015“]'
分类标量
字符串(细绳用于创建字符串格式的方法。)
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“]'
容器.map.
目的
jsonencode(容器。地图(......{“1月”,'2月',“3”},......[327368197]))
”{2月”:368年,“简”:327年,“3”:197}”
南INF.
jsonencode([1、2、南3正))
'[1,2,null,3,null]'
jsonencode (matlab.lang.OnOffSwitchState.on)
“”“”
将Scalar Matlab对象传递为标量JSON数组(括入[]字符),使用单元格数组构造操作符转换对象{}.例如,下面的代码转换特征字段到标量JSON数组中。
[]
{}
特征
S =结构(“特征”结构(“类型”,“特性”,“几何”,......结构(“类型”,“观点”,“坐标”,[-105,40]))))));s.features = {s.features};s = jsonencode
年代={“特征”:[{“类型”:“特性”、“几何”:{“类型”:“点”、“坐标”:[-105,40]}}]}”
展开全部
行为在R2017b中改变
的jsonencode函数在JSON中编码MATLAB NAN和INF值作为null。
在R2017A及更早版本中,该功能编码NaN“南”和Inf As.'inf'.继续编码南部“南”或者'inf',叫jsonencode与'convertinfandnan'选项设置为假.例如,
“南”
'inf'
jsonencode(南'convertinfandnan'假)
ans =“NaN”
JSondecode.|webwrite.
webwrite.
您有此示例的修改版本。您是否希望使用您的编辑打开此示例?
你点击一个链接对应于这个MATLAB命令:
在MATLAB命令窗口中输入它来运行命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
联系您当地的办公室