C語言的JSON庫通常提供了將JSON字符串轉換為實體對象的方法。在一些場景中,將JSON字符串轉換為實體對象可以更便捷地處理數據,以便進行后續處理。下面我們來看看C語言中如何將JSON字符串轉換為實體對象。
// 首先需要下載JSON庫 #include "cJSON.h" //定義頭文件 typedef struct { int id; char name[20]; double score; }Student; //定義轉換函數 Student* jsonToStudent(char *jsonStr) { Student *stu = NULL; cJSON* root = cJSON_Parse(jsonStr); //將JSON字符串轉換為JSON對象 if (root != NULL) { stu = (Student*)malloc(sizeof(Student)); //給實體對象分配內存 stu->id = cJSON_GetObjectItem(root,"id")->valueint; //獲取id字段值 strcpy(stu->name,cJSON_GetObjectItem(root,"name")->valuestring); //獲取name字段值 stu->score = cJSON_GetObjectItem(root,"score")->valuedouble; //獲取score字段值 } cJSON_Delete(root); //釋放JSON對象內存 return stu; } //使用示例 int main() { char jsonStr[] = "{\"id\": 1001, \"name\": \"Tom\", \"score\": 95.5}"; Student *stu = jsonToStudent(jsonStr); printf("id:%d, name:%s, score:%.2lf\n", stu->id, stu->name, stu->score); free(stu); return 0; }
在上面的代碼中,我們首先需要引入JSON庫的頭文件,然后定義一個實體對象,并定義一個將JSON字符串轉換為實體對象的函數。在這個函數中,我們先將JSON字符串轉換為JSON對象,并從中獲取需要的字段值,最后將JSON對象內存釋放掉。使用示例中,我們傳入JSON字符串并調用轉換函數,得到了實體對象,可以方便地進行后續操作。