C++14 解析json
时间: 2023-07-11 19:43:34 浏览: 62
在C++14中,可以使用第三方库如RapidJSON和Boost.PropertyTree来解析JSON。以下是使用RapidJSON库解析JSON的示例代码:
```c++
#include <iostream>
#include "rapidjson/document.h"
#include "rapidjson/writer.h"
#include "rapidjson/stringbuffer.h"
using namespace rapidjson;
int main() {
// JSON字符串
const char* json = R"(
{
"name": "John",
"age": 30,
"city": "New York",
"languages": ["C++", "Java", "Python"]
}
)";
// 解析JSON字符串
Document document;
document.Parse(json);
// 获取JSON对象的值
const Value& name = document["name"];
const Value& age = document["age"];
const Value& city = document["city"];
const Value& languages = document["languages"];
// 获取值的类型和内容
std::cout << "name: " << name.GetString() << std::endl;
std::cout << "age: " << age.GetInt() << std::endl;
std::cout << "city: " << city.GetString() << std::endl;
std::cout << "languages: ";
for (SizeType i = 0; i < languages.Size(); i++) {
std::cout << languages[i].GetString() << " ";
}
std::cout << std::endl;
return 0;
}
```
输出结果为:
```
name: John
age: 30
city: New York
languages: C++ Java Python
```
以上代码使用了RapidJSON库中的Document类来解析JSON字符串,并使用Value类来获取JSON对象的值和类型。如果需要创建和修改JSON对象,还可以使用Writer类和StringBuffer类。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)