Acquiring a JSON from a webpage

16 次查看(过去 30 天)
Tero
Tero 2021-7-30
Hi all,
I'd need to find a way to acquire a JSON file from a web portal. I can do it manually just by going to the site and save in JSON (see screenshot). However, I'd like to be able to do it directly from Matlab, but webread just returns the HTML code, not the data I'm looking for. I tried using the options:
options = weboptions('ContentType','json');
But it failed. Any idea is welcome
Thanks,
Tero

回答(1 个)

Yongjian Feng
Yongjian Feng 2021-7-30
Try this:
headers = {'Content-Type' 'application/json'; 'Accept' 'application/json'};
options = weboptions('HeaderFields',headers);
webread('http://ip.jsontest.com', options)
  2 个评论
Tero
Tero 2021-8-3
Thanks,
I tried this with my site, but it didn't work yet. Does it matter the data is behind a login screen? I can see it works fine with the example you gave
Yongjian Feng
Yongjian Feng 2021-8-3
I see. It seems like you just got back the html for the login page. In general, there shall be an API key for authentication. Or try to put your username/password into the headers as well.

请先登录,再进行评论。

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by