C++ cJSON_Parse用法
时间: 2024-01-29 13:03:03 浏览: 35
cJSON_Parse是C语言中cJSON库的一个函数,用于将一个JSON格式的字符串解析为一个cJSON对象。该函数的用法如下:
```c
cJSON *cJSON_Parse(const char *value);
```
其中,value参数是一个完整的JSON格式的字符串。如果解析成功,cJSON_Parse函数将返回一个cJSON对象的指针;如果解析失败,cJSON_Parse函数将返回NULL。
以下是一个使用cJSON_Parse函数的示例:
```c
#include <stdio.h>
#include "cJSON.h"
int main() {
const char *jsonStr = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
cJSON *jsonObj = cJSON_Parse(jsonStr);
if (jsonObj != NULL) {
cJSON *nameObj = cJSON_GetObjectItem(jsonObj, "name");
cJSON *ageObj = cJSON_GetObjectItem(jsonObj, "age");
cJSON *cityObj = cJSON_GetObjectItem(jsonObj, "city");
if (nameObj != NULL && ageObj != NULL && cityObj != NULL) {
printf("Name: %s\n", nameObj->valuestring);
printf("Age: %d\n", ageObj->valueint);
printf("City: %s\n", cityObj->valuestring);
}
cJSON_Delete(jsonObj);
}
return 0;
}
```
在上述示例中,我们首先定义了一个JSON格式的字符串jsonStr。然后,我们使用cJSON_Parse函数将该字符串解析为一个cJSON对象jsonObj。接下来,我们使用cJSON_GetObjectItem函数从jsonObj中获取各个字段的值,并打印出来。最后,我们使用cJSON_Delete函数释放jsonObj的内存。