没有合适的方法将 C++ stl 字符串添加到 C++ rest sdk json object utility string_t

No suitable method for adding c++ stl string to C++ rest sdk json object utility string_t

我想将一个字符串添加到 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。

尝试以下类型转换:

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

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