Matlab访问RESTful接口
MATLAB® RESTful Web 服务函数 webread
、websave
、webwrite
和 weboptions
允许非编程人员使用 HTTP GET 和 POST 方法访问多个 Web 服务。
在我们的场景里只要用webread函数就可以了,webread函数从制定的web服务中读取url并返回页面内容data
data = webread('https://www.npclo.com/api/modeling?oid=5a37186c0246a33384333cba');
Matlab解析Json
matlab本身没有解析json数据的函数,在matalb官网论坛上可以找到两个解析json的第三方库(函数):json4mat和parse_json。
根据网上资料显示两个函数均可实现json解析,但json4mat速度更快,所以我优先尝试了json4mat,但是出现数组越界的报错。经确认,页面上返回的数据符合json格式,反复debug也没有找到原因所在,选择放弃。
然后我尝试了parse_json函数,一次成功,没有报错。但是得到的数据是struct数据,只能用鼠标点开,不知道如何自动读取具体数据。
cell和struct的转换
参考:https://blog.csdn.net/kyang624823/article/details/78678075
元胞数组:与数组的区别是每个元素可以是不同类型的,可是不同大小的矩阵,也可以是字符串,结构体等, 使用元胞数组要区分(),{}的区别。
{ }:可以返回一个元胞中的具体数据; () :返回该位置的数组类型信息
1)创建元胞数组
>> c(1,1)={[1,2;3 4]};
>> c(1,2)={'tom is a sb'};
>> c(2,1)={[1,2,3,4,5,6]};
>> c(2,2)={struct('name','rose','age',21)};
>> c
c =
[2x2 double] 'tom is a sb'
[1x6 double] [1x1 struct]
2)调取元胞数组的元素
>> c(1,1)
ans =
[2x2 double]
>> c{1,1}
ans =
1 2
3 4
>>
实验结果
浏览器访问后台接口的结果:
Matlab访问后台接口得到json数据解析后得到的数据结果:
来源:oschina
链接:https://my.oschina.net/u/4315991/blog/3580198