旋度翻译webwrite ()

6视图(30天)
卡斯滕卡勒
卡斯滕卡勒 2021年4月14日
编辑: 卡斯滕卡勒2021年4月22日
看到编辑最终解决方案;tldr: jsonencode()不为单个值创建数组。
我需要发送JSON数据到网络服务器,它会生成一些数据发回(JSON)。
以下curl命令工作原理:
旋度application / json - x POST - h”内容类型:“- d @minimal_request.jsonhttp://x。yz / > minimal_output.json
Matlab生成的数据发送和接收的数据是Matlab进一步处理。automatisation我尝试webwrite(),而不是(手动)旋度:
文件=“minimal_request.json”;
URL =“http://x.yz/”;
str = fileread(文件);
json_struct = jsondecode (str);直接在json_struct %数据后会交付
选择= weboptions (“MediaType”,“application / json”,“ContentType”,json的);
res = webwrite (URL、json_struct选项);
但是这将产生以下错误消息(表明一个糟糕的请求)
错误使用matlab.internal.webservices.HTTPConnector / copyContentToByteArray(第373行)
服务器返回400状态消息”来响应请求的URL
http://x.yz/。
错误在readContentFromWebService(46行)
中byteArray = copyContentToByteArray(连接);
错误在webwrite(第139行)
[varargout {1: nargout}] = readContentFromWebService(连接,选择);
错误在TestV2(第9行)
res_PWT = webwrite (URL、json_struct选项);
我似乎无法找到这里的问题……
谢谢!
为未来~ ~编辑
服务器将json数组即使只有一个值被发送。但是jsonencode()(叫做webwrite())不为单个值创建数组。
解决方法是显式地使用cell-struct;如。
年代。值{1}= 1
而不是
年代。值= 1

答案(0)

标签

s manbetx 845


释放

R2020b

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!