没有合适的方法将c ++ stl字符串添加到C ++ rest sdk json对象实用程序string_t

时间:2016-03-31 06:10:21

标签: c++ windows visual-studio visual-c++ casablanca

我想在C ++ rest sdk json对象中添加一个字符串。我试过了

json::value obj;
obj[L"Login"] = json::value::string();

但问题是这只添加字符串为U(" str")而不是const std :: string。 所以我可以添加为

obj[L"Login"] = json::value::string(U("Login"));

但不要做如下:

json::value obj;
string Login= "login";
obj[L"Login"] = json::value::string(Login);

我正在使用C ++ rest sdk 2.8.0。

2 个答案:

答案 0 :(得分:1)

尝试以下类型转换:

json::value obj;
string Login= "login";
std::wstring_convert<std::codecvt_utf8<wchar_t> > converter;
std::wstring uLogin = converter.from_bytes(Login);
obj[L"Login"] = json::value::string(uLogin);

答案 1 :(得分:0)

更好地切换你的所有 的std :: string 至 的std ::的瓦特串 对象。 cppRest仅适用于宽字符串,因此您最终将转换到整个地方......