C语言解析JSON格式
时间: 2023-09-09 17:06:03 浏览: 173
C语言中解析JSON格式可以使用第三方库,如cJSON库。
cJSON是一个轻量级的JSON解析库,可以在C语言中使用。以下是使用cJSON库解析JSON格式的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
int main() {
char* json_string = "{\"name\":\"John\", \"age\":30, \"city\":\"New York\"}";
cJSON* root = cJSON_Parse(json_string);
if (root == NULL) {
printf("Error parsing JSON: %s\n", cJSON_GetErrorPtr());
return 1;
}
cJSON* name = cJSON_GetObjectItemCaseSensitive(root, "name");
if (cJSON_IsString(name) && (name->valuestring != NULL)) {
printf("Name: %s\n", name->valuestring);
}
cJSON* age = cJSON_GetObjectItemCaseSensitive(root, "age");
if (cJSON_IsNumber(age)) {
printf("Age: %d\n", age->valueint);
}
cJSON* city = cJSON_GetObjectItemCaseSensitive(root, "city");
if (cJSON_IsString(city) && (city->valuestring != NULL)) {
printf("City: %s\n", city->valuestring);
}
cJSON_Delete(root);
return 0;
}
```
在这个示例中,我们先定义了一个JSON格式的字符串,然后使用cJSON_Parse()函数将其解析为cJSON对象。接着使用cJSON_GetObjectItemCaseSensitive()函数获取JSON对象中的各个属性,并判断属性的类型,最后将属性的值输出。
需要注意的是,使用cJSON库时需要在代码中包含cJSON.h头文件,并在链接时链接cJSON库。
阅读全文