Почему нельзя присвоить строковую переменную объекту json::value?
Эта инициализация возможна и может создать объект json::value со значением "hello1" следующим образом.
json::value v1 = json::value::string(U("hello1")); // ok
Но эта инициализация не работает. В чем причина этого? Как создать объект JSON, используя значение переменной, такой как string или char*.
string str1 = "Hello2";
json::value v2 = json::value::string(str1); //Error (1)
json::value v3 = json::value::string(U(str1)); //Error (2)
Ошибка 1
Severity Code Description Project File Line Suppression State
Error C2248 'web::json::value::string': cannot access private member declared in class 'web::json::value' StolenDetailsService c:\users\nuwanst\source\repos\stolendetailsservice\stolendetailsservice\dbhandler.cpp 62
Ошибка 2
Severity Code Description Project File Line Suppression State
Error C2065 'Lstr1': undeclared identifier StolenDetailsService c:\users\nuwanst\source\repos\stolendetailsservice\stolendetailsservice\dbhandler.cpp 62
1 ответ
Решение
Я использовал потоки. Меня устраивает.
string st1="Hello";
utility::stringstream_t ss1;
ss1 << str1;
json::value Jobj = json::value::parse(ss1);