Send json correctly over HTTP request

Hello,
I somehow do not manage to send json data to an API. The curl request is like the following
curl --request POST --url 'https://example.com/exemplary_suburl/' -d 'data={json_data:values}' --header 'appkey: abcdef'
My corresponding Matlab code, which currently does not work is the following:
import matlab.net.http.*
import matlab.net.http.field.*
header = [ContentTypeField( 'application/json' ), ...
HeaderField('appkey','exampleone')];
request = RequestMessage('POST', ...
header, jsonencode(structSample));
options = matlab.net.http.HTTPOptions();
response = request.send('https://example.com/exemplary_suburl/', options);
There is always an error as the data parameter is not in a correct format. What parameters may I change to get it working?
Thank you!

3 个评论

You call a function with no input arguments and that is probably the cause of an error.
request = RequestMessage('POST', header, jsonencode(struct));
% ^^ it's a function
Do you refer to "struct" inside jsonencode? I am sorry, this was just a sample to hide the actual variable name.
Oh, I see. Well, unfortunatelly I can help with this, maybe someone else can. Meanwhile, here's a partial example example of HTTP request message.

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Call Web Services from MATLAB Using HTTP 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by