在C語言中,我們經常需要對JSON格式的數據進行解析,并轉換成相應的實體,這里介紹一種使用cJSON庫進行JSON解析的方法。
首先需要引入cJSON頭文件:
#include "cJSON.h"
接著我們可以通過以下方式來讀取JSON數據:
char *json_string = "{\"name\":\"Tom\", \"age\":20}"; cJSON * root = cJSON_Parse(json_string); if(!root){ printf("Error before: [%s]\n",cJSON_GetErrorPtr()); return -1; }
解析成功后,可以通過以下方式來獲取JSON中的值:
cJSON *name = cJSON_GetObjectItem(root, "name"); if (!cJSON_IsString(name)){ printf("Error: name is not string\n"); return -1; } printf("name: %s\n", name->valuestring);
為了方便轉換成相應的實體對象,可以定義一個結構體,并通過以下方式將JSON數據轉換成結構體:
typedef struct { char name[20]; int age; } Person; cJSON *name = cJSON_GetObjectItem(root, "name"); cJSON *age = cJSON_GetObjectItem(root, "age"); if (!cJSON_IsString(name)){ printf("Error: name is not string\n"); return -1; } if (!cJSON_IsNumber(age)){ printf("Error: age is not number\n"); return -1; } Person person; strcpy(person.name, name->valuestring); person.age = age->valueint;
有了這種方法,我們就可以方便地對JSON數據進行解析,并轉換成相應的實體對象了。
下一篇mysql刪除某個表