从 Wt::Http::Request&request 获取 json

Get json from Wt::Http::Request& request

本文关键字:request 获取 json Request Wt Http      更新时间:2023-10-16

我的json请求有问题:(我有class

class ForumCreate : public Wt::WResource 

和功能

virtual void handleRequest(const Wt::Http::Request& request, Wt::Http::Response& response)

request.contentType()是application/json。如何从请求中获取json ?(

也许我应该用别的东西来获取json?任务:用户在静态url上发送带有json的http请求。我需要分析json文件并发送json-response.

您将需要解析来自

提供的输入流的数据
std::istream & Wt::Http::Request::in    (       )   const

https://www.webtoolkit.eu/wt/doc/reference/html/classWt_1_1Http_1_1Request.html a768a65ceb3c0bf013b57c3de04b19041

应该是原始的json文本

Wt中有一个内置的JSON解析器。我这样使用它:

Wt::Json::Object bodyContent;
try
{
    Wt::Json::parse(fromIstream(request.in()), bodyContent);
}
catch(std::exception e)
{
    ...
}

其中fromisam如下:

std::string fromIstream(std::istream &stream)
{
    std::istreambuf_iterator<char> eos;
    return std::string(std::istreambuf_iterator<char>(stream), eos);
}

请记住,Wt::Json::parse()将在格式错误的情况下抛出异常。希望能有所帮助!