QT实现Json数组的Post发送

本文讲述了在QT中实现Json数组POST发送遇到的问题及解决方法。最初由于接口文档不清晰,尝试直接使用QNetworkReply的post方法发送QByteArray,但总是收到格式错误的反馈。通过Wireshark抓包发现,实际需要的是x-www-form-urlencoded类型的键值对形式,而非Json类型。最终,调整代码以键值对方式发送数据,实现了成功发送。
摘要由CSDN通过智能技术生成

近日测试一个算法,算法提供的接口是发送Json数组格式的数据给后台服务,如果符合格式要求,则返回成功,否则返回格式错误。针对这个接口情况,计划采用QT实现Json数组元素额发送,整个实现过程比较曲折。首先是对方的接口设计文档描述不清楚,设计说要发送Json数据给后台服务器,所以首先选择的就是通过qt的QNetworkReply的post方法发送QByteArray数据给后台,结果调试了两天,怎么发送数据都是格式错误,很是郁闷。具体代码如下:

   QString urlstr = QString("http://%1:8086/xxxxxxxx").arg(ui->editServerIP->text());

    QString data;
    data.clear();
    data =QString(m_pCJsonData->getSndJsonByteArray());

    QNetworkRequest request;
    request.setUrl(QUrl(urlstr));

    request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/json;charset=UTF-8"));
    //request.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("application/x-www-form-urlencoded"));

    QNetworkReply *reply = m_pAccessManage->post(request, postdata.toUtf8());

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值