windows c++ 使用cjson 解析 { "error": 0, "status": "success", "date": "2021-12-31" } 完整代码
时间: 2024-03-04 08:47:21 浏览: 23
当在Windows平台上使用C++编程时,可以使用CJSON库来解析JSON数据。下面是一个使用CJSON库解析JSON数据的完整代码示例:
```cpp
#include <iostream>
#include "cJSON.h"
int main() {
// JSON字符串
const char* jsonStr = "{ \"error\": 0, \"status\": \"success\", \"date\": \"2021-12-31\" }";
// 解析JSON字符串
cJSON* root = cJSON_Parse(jsonStr);
if (root == nullptr) {
std::cout << "Failed to parse JSON." << std::endl;
return 1;
}
// 获取error字段的值
cJSON* errorNode = cJSON_GetObjectItem(root, "error");
if (errorNode != nullptr && errorNode->type == cJSON_Number) {
int errorValue = errorNode->valueint;
std::cout << "Error: " << errorValue << std::endl;
}
// 获取status字段的值
cJSON* statusNode = cJSON_GetObjectItem(root, "status");
if (statusNode != nullptr && statusNode->type == cJSON_String) {
const char* statusValue = statusNode->valuestring;
std::cout << "Status: " << statusValue << std::endl;
}
// 获取date字段的值
cJSON* dateNode = cJSON_GetObjectItem(root, "date");
if (dateNode != nullptr && dateNode->type == cJSON_String) {
const char* dateValue = dateNode->valuestring;
std::cout << "Date: " << dateValue << std::endl;
}
// 释放内存
cJSON_Delete(root);
return 0;
}
```
这段代码使用了CJSON库来解析JSON字符串。首先,我们使用`cJSON_Parse`函数将JSON字符串解析为一个cJSON对象。然后,使用`cJSON_GetObjectItem`函数获取JSON对象中的字段值,并根据字段的类型进行处理。最后,使用`cJSON_Delete`函数释放内存。