Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/143.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 为什么不能将字符串变量分配给json::value对象?_C++_Json_Casablanca - Fatal编程技术网

C++ 为什么不能将字符串变量分配给json::value对象?

C++ 为什么不能将字符串变量分配给json::value对象?,c++,json,casablanca,C++,Json,Casablanca,这个初始化是可能的,可以使json::value对象的值为hello1,如下所示 json::value v1 = json::value::string(U("hello1")); // ok 但这种初始化不起作用。原因是什么?如何使用字符串或char*等变量的值创建JSON对象 string str1 = "Hello2"; json::value v2 = json::value::string(str1); //Error (1) json::value v3 =

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

json::value v1 = json::value::string(U("hello1")); // ok
但这种初始化不起作用。原因是什么?如何使用字符串或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  

我用溪流。它对我有用

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

我认为您已经交换了错误:U看起来像一个宏,它将L粘贴到它的参数上,它只适用于字符串文本,但在这里只构成不存在的Lstr1变量的名称。是的,谢谢,我修复了它。请告诉我你是否知道有其他方法可以用字符串变量构造json对象