首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何确保matlab的jsonencode始终输出向量

如何确保matlab的jsonencode始终输出向量
EN

Stack Overflow用户
提问于 2018-08-08 06:01:58
回答 1查看 181关注 0票数 2

Json使用方括号对向量进行编码。标量没有方括号。当然,标量可以看作是具有length=1的向量的特例。

有没有可以传递给matlab的jsonencode的参数,以确保变量始终编码为向量?在下面的示例中,我希望xeye都有方括号:

代码语言:javascript
复制
x.data = [0];
y.data = [0 1];

xe = jsonencode(x) % '{"data":0}'  ..... I want '{"data":[0]}'
ye = jsonencode(y) % '{"data":[0,1]}'

有趣的是,matlab已经将x.data分类为向量(isvector返回1,isscalarismatrix也是如此)。

我正在将数据导出到一个json文件,该文件由属于另一个项目的解析器读取。解析器需要一个向量,当它试图遍历元素时就会出错。我将研究如何提高解析器的健壮性,但这不是一件容易的事,在matlab的jsonencode中可能有一个简单的选择。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-08 06:25:54

有趣的是,在documentation中似乎没有允许这样做的名称-值对。但是,如果您将标量包装在一个单元格中,生成的输出就是您要查找的输出。

代码语言:javascript
复制
x.data = {[0]};
y.data = [0 1];

xe = jsonencode(x) 
ye = jsonencode(y) 

>>xe 
       '{"data":[0]}'
>>ye
       '{"data":[0,1]}'

因此,您需要检查结构中data字段的大小,并根据它是否是单个值将其包装在一个单元格中。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51736033

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档