2016-03-31 21 views
0

我想向C++ rest sdk json对象添加一个字符串。我试过没有合适的方法将C++ stl字符串添加到C++ rest sdk json对象实用程序string_t

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++ SDK休息2.8.0。

+0

'obj [L“键”] = json :: value :: string(U(“str “));'?只要给'json :: value :: string()'值# – VolAnd

+0

编辑这个问题,无论如何,正如我所说的,不允许const字符串 –

回答

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); 
+0

Thanks!这样可行 –

0

更好地切换所有 的std :: string 到 的std :: W¯¯串 对象。 cppRest只适用于宽字符串,所以你会最终转换所有的地方...