C++ 解析json
时间: 2023-10-28 09:06:53 浏览: 127
C++ 解析Json
C++解析JSON有多种方法,其中一种常用的方法是使用jsoncpp库。你可以使用Json::Reader和Json::Value类来解析JSON字符串。
下面是一个示例代码,演示了如何使用jsoncpp库解析JSON字符串:
```cpp
#include <iostream>
#include <string>
#include <json/json.h>
int main() {
std::string jsonString = R"({"name":"wangqinghe","major":[{"AI":"MachineLearning"},{"AI":"DeepLearning"},{"AI":"PictureLearning"}})";
Json::Value root;
Json::Reader reader;
if (reader.parse(jsonString, root)) {
std::string name = root["name"].asString();
std::cout << "name: " << name << std::endl;
Json::Value majorArray = root["major"];
for (unsigned int i = 0; i < majorArray.size(); ++i) {
std::string major = majorArray[i]["AI"].asString();
std::cout << major << std::endl;
}
}
return 0;
}
```
在上面的示例中,我们首先创建了一个Json::Value对象`root`来保存解析后的JSON数据。然后使用Json::Reader的parse方法将JSON字符串解析为`root`对象。接下来,我们可以使用`root`对象来获取其中的字段值,如`name`字段的值和`major`字段的值。对于数组类型,可以使用循环来遍历每个元素并获取相应的值。
这就是使用jsoncpp库解析JSON的基本方法。你可以根据自己的需求进行扩展和修改。希望对你有帮助!
阅读全文