string转json
时间: 2023-06-14 21:08:06 浏览: 165
String转化为JSON对象
将一个字符串转换为 JSON 格式的数据,可以使用现有的 JSON 解析库。以下是一个使用 C++ 11 中的原生库的示例代码:
```cpp
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
#include <json/json.h>
int main() {
std::string str = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
Json::Value root;
Json::Reader reader;
bool parsingSuccessful = reader.parse(str, root);
if (parsingSuccessful) {
std::string name = root["name"].asString();
int age = root["age"].asInt();
std::string city = root["city"].asString();
std::cout << "Name: " << name << std::endl;
std::cout << "Age: " << age << std::endl;
std::cout << "City: " << city << std::endl;
} else {
std::cout << "Failed to parse JSON." << std::endl;
}
return 0;
}
```
输出:
```
Name: John
Age: 30
City: New York
```
在这个例子中,我们使用了 JsonCpp 库来解析 JSON 字符串。首先,我们定义一个字符串 `str`,它包含了我们要解析的 JSON 数据。然后,我们创建了一个 `Json::Value` 类型的对象 `root`,它将包含解析后的 JSON 数据。接下来,我们使用 `Json::Reader` 类型的对象 `reader` 来解析 JSON 字符串,并将结果存储在 `root` 对象中。如果解析成功,我们可以通过 `root` 对象的成员函数 `asString()`、`asInt()` 等来获取 JSON 数据中的值。最后,我们输出了这些值。
这只是一个简单的例子,如果你需要处理更复杂的 JSON 数据,你可能需要更高级的库或者更复杂的代码。
阅读全文