C语言解析json字符串
时间: 2023-09-14 22:02:37 浏览: 125
在C语言中,解析JSON字符串可以使用第三方库,比如cJSON。cJSON是一个轻量级的库,可以用于解析JSON数据并生成JSON数据。以下是一个简单的例子,演示如何使用cJSON解析JSON字符串:
```c
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
int main()
{
const char *json_string = "{\"name\":\"Jack\",\"age\":30,\"city\":\"New York\"}";
cJSON *json = cJSON_Parse(json_string);
if (json == NULL) {
const char *error_ptr = cJSON_GetErrorPtr();
if (error_ptr != NULL) {
fprintf(stderr, "Error before: %s\n", error_ptr);
}
exit(EXIT_FAILURE);
}
cJSON *name = cJSON_GetObjectItemCaseSensitive(json, "name");
cJSON *age = cJSON_GetObjectItemCaseSensitive(json, "age");
cJSON *city = cJSON_GetObjectItemCaseSensitive(json, "city");
printf("Name: %s\nAge: %d\nCity: %s\n", name->valuestring, age->valueint, city->valuestring);
cJSON_Delete(json);
return EXIT_SUCCESS;
}
```
在这个例子中,我们首先定义了一个JSON字符串,然后使用cJSON_Parse函数将其解析为一个cJSON对象。如果解析失败,我们使用cJSON_GetErrorPtr函数获取错误信息并退出程序。如果解析成功,我们可以使用cJSON_GetObjectItemCaseSensitive函数获取JSON对象中的各个属性,并进行相应的操作。最后,我们使用cJSON_Delete函数释放cJSON对象的内存。
这只是一个简单的示例,cJSON库还支持更多的JSON解析和生成操作。需要注意的是,使用第三方库解析JSON字符串需要在编译时链接相应的库文件。
阅读全文
相关推荐
















