为什么不能将字符串变量赋给json :: value对象?

时间:2017-10-21 08:23:47

标签: c++ json casablanca

这种初始化是可能的,可以使json :: value对象的值为“hello1”,如下所示。

json::value v1 = json::value::string(U("hello1")); // ok

但是这个初始化不起作用。这是什么原因?如何使用变量的值(如string或char *。

)创建JSON对象
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 个答案:

答案 0 :(得分:1)

我用过溪流。它对我有用。

   string st1="Hello";
    utility::stringstream_t ss1;
    ss1 << str1;
    json::value Jobj = json::value::parse(ss1);