从 Wt::Http::Request 获取 json& 请求
Get json from Wt::Http::Request& request
我对 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
它应该是原始 json 文本。
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() 将引发异常。希望对您有所帮助!
我对 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
它应该是原始 json 文本。
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() 将引发异常。希望对您有所帮助!