C++中rapidjson获取每个参数的值
时间: 2024-03-16 20:46:10 浏览: 16
在使用rapidjson解析json字符串时,可以通过以下方式获取每个参数的值:
假设有以下json字符串:
```json
{
"name": "John",
"age": 30,
"isMarried": true,
"hobbies": ["reading", "swimming", "traveling"]
}
```
获取name参数的值:
```c++
#include "rapidjson/document.h"
using namespace rapidjson;
const char* json = "{\"name\":\"John\",\"age\":30,\"isMarried\":true,\"hobbies\":[\"reading\",\"swimming\",\"traveling\"]}";
Document doc;
doc.Parse(json);
if(doc.HasMember("name") && doc["name"].IsString()){
const char* name = doc["name"].GetString();
// 使用name变量
}
```
获取age参数的值:
```c++
if(doc.HasMember("age") && doc["age"].IsInt()){
int age = doc["age"].GetInt();
// 使用age变量
}
```
获取isMarried参数的值:
```c++
if(doc.HasMember("isMarried") && doc["isMarried"].IsBool()){
bool isMarried = doc["isMarried"].GetBool();
// 使用isMarried变量
}
```
获取hobbies参数的值:
```c++
if(doc.HasMember("hobbies") && doc["hobbies"].IsArray()){
const Value& hobbies = doc["hobbies"];
for (SizeType i = 0; i < hobbies.Size(); i++){
const char* hobby = hobbies[i].GetString();
// 使用hobby变量
}
}
```