从Wt :: Http获取json :: Request&请求

时间:2016-10-11 22:51:05

标签: c++ json wt

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

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-request。我需要分析json文件并发送json-response。

2 个答案:

答案 0 :(得分:1)

您需要解析

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

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

它应该是原始的json文本。

答案 1 :(得分:0)

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

Wt::Json::Object bodyContent;

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

其中fromIstream如下:

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

请记住,Wt :: Json :: parse()会在输入格式错误时抛出异常。希望它有所帮助!