C語言是一種廣泛使用的編程語言,也有很多的應用場景,例如解析JSON文件。在解析JSON文件的過程中,我們需要依賴于一些第三方庫,例如cJSON就是常用的JSON解析庫。
#include <stdio.h>
#include <cJSON.h>
int main()
{
const char *json_string = "{\"name\":\"張三\",\"age\":18}";
cJSON *json = cJSON_Parse(json_string);
if (json == NULL)
{
printf("json解析失敗\n");
return -1;
}
cJSON *name = cJSON_GetObjectItem(json, "name");
if (name == NULL)
{
printf("獲取name失敗\n");
return -1;
}
cJSON *age = cJSON_GetObjectItem(json, "age");
if (age == NULL)
{
printf("獲取age失敗\n");
return -1;
}
printf("name:%s, age:%d\n", name->valuestring, age->valueint);
cJSON_Delete(json);
return 0;
}
代碼解析:
1.首先我們引入需要使用的庫頭文件,包括標準輸入輸出庫和cJSON庫。
2.main函數中定義一個JSON格式的字符串作為例子。然后調用cJSON_Parse函數將其解析成cJSON對象。如果解析失敗,則打印失敗信息,返回-1。
3.通過cJSON_GetObjectItem函數獲取JSON中的各個字段信息,如果獲取失敗,則打印失敗信息,返回-1。
4.最后將獲取到的JSON字段信息進行打印,注意不同字段類型的打印方式不同。
5.最后調用cJSON_Delete釋放堆內存。