2016-03-31 10 views
0

Ich möchte eine Zeichenfolge in C++ Rest SDK JSON-Objekt hinzufügen. Ich habe versucht,Keine geeignete Methode zum Hinzufügen von C++ STL-Zeichenfolge zu C++ Rest sdk JSON-Objektdienstprogramm string_t

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

Aber das Problem ist dies nur Strings als U ("str") ergänzt und nicht const std :: string. So kann ich hinzufügen, wie

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

aber nicht tun, wie folgt:

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

ich C++ verwende Rest sdk 2.8.0.

+0

Was ist das Problem mit 'obj [L" key "] = json :: value :: string (U (" str "));'? Geben Sie einfach einen Wert für 'json :: value :: string() ' – VolAnd

+0

Bearbeitete die Frage, wie auch immer ich sage, keine const Strings sind erlaubt –

Antwort

1

den folgenden Typ Umwandlung Versuchen:

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

Danke !! Das funktioniert –

0

besser wechseln alle std :: string zu std :: w String Objekte. cppRest funktioniert nur mit breiten Strings, also wirst du am Ende überall umwandeln ...

Verwandte Themen