string转Json::Value c++
时间: 2023-07-10 20:29:38 浏览: 152
可以使用JsonCpp库将字符串转换为Json::Value对象,示例如下:
```c++
#include <iostream>
#include <json/json.h>
int main() {
std::string str = "{\"name\":\"张三\",\"age\":18}";
Json::Value root;
Json::CharReaderBuilder builder;
Json::CharReader* reader = builder.newCharReader();
std::string errors;
if (!reader->parse(str.c_str(), str.c_str() + str.length(), &root, &errors)) {
std::cout << "parse error: " << errors << std::endl;
}
std::string name = root["name"].asString();
int age = root["age"].asInt();
std::cout << "name: " << name << ", age: " << age << std::endl;
delete reader;
return 0;
}
```
这里使用了JsonCpp库提供的CharReader类将字符串转换为Json::Value对象,然后可以通过Json::Value的asXXX()方法获取对应的值。需要注意的是,如果字符串格式不符合JSON格式,解析时可能会出现错误,需要进行错误处理。
阅读全文