怎么把string类型转换为json
时间: 2024-03-17 18:40:59 浏览: 56
可以使用第三方库如jsoncpp来实现string类型与json的相互转换。以下是一个简单的示例代码:
```c++
#include <iostream>
#include <json/json.h>
int main() {
std::string str = "{\"name\":\"Lucy\", \"age\": 18}";
Json::Value root;
Json::CharReaderBuilder readerBuilder;
Json::CharReader *reader = readerBuilder.newCharReader();
std::string errors;
if (!reader->parse(str.c_str(), str.c_str() + str.length(), &root, &errors)) {
std::cerr << "Failed to parse JSON string: " << errors << std::endl;
return 1;
}
std::string name = root["name"].asString();
int age = root["age"].asInt();
std::cout << "Name: " << name << std::endl;
std::cout << "Age: " << age << std::endl;
Json::FastWriter writer;
std::string json_str = writer.write(root);
std::cout << "JSON string: " << json_str << std::endl;
delete reader;
return 0;
}
```
这个示例中,首先我们定义了一个包含JSON字符串的std::string变量str。然后使用Jsoncpp中的Json::CharReader类将字符串解析为Json::Value类型的对象root。接下来,我们使用root对象访问其中的字段,并将其转换为std::string或int类型。最后,我们使用Json::FastWriter类将root对象重新转换为JSON字符串。
阅读全文