2016-03-31 1 views
0

Я хочу добавить строку в объект S ++ rest sdk json. Я попробовалНет подходящего метода для добавления C++ stl string в C++ rest sdk json object utility 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" key "] = 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

Спасибо! Это работает –

0

Лучше переключить всю вашу зЬх :: строки к станду :: ж строка объектов. cppRest работает только с широкими строками, поэтому вы закончите преобразование по всему месту ...

 Смежные вопросы

  • Нет связанных вопросов^_^