c json對象轉實體類是一種常見的操作,尤其是在使用c語言開發應用程序時。在進行開發的過程中,經常會需要將從外部獲取的json數據轉換為實體類,以方便進行程序的業務邏輯操作。
在c語言中,有很多第三方庫可以用來處理json數據,其中比較常用的是cJSON。cJSON是一款輕量級的json解析庫,可以幫助我們快速地將json數據轉換為c語言的數據結構。
#include <stdio.h> #include <cJSON.h> typedef struct { int id; char name[10]; double score; } Student; int main() { char *jsonStr = "{\"id\":1,\"name\":\"張三\",\"score\":99.5}"; cJSON *json = cJSON_Parse(jsonStr); Student student; student.id = cJSON_GetObjectItem(json, "id")->valueint; strcpy(student.name, cJSON_GetObjectItem(json, "name")->valuestring); student.score = cJSON_GetObjectItem(json, "score")->valuedouble; printf("id:%d,name:%s,score:%lf", student.id, student.name, student.score); cJSON_Delete(json); return 0; }
在上述代碼中定義了一個結構體Student,用來存儲從json數據中獲取的屬性。在main函數中,首先定義了一個json字符串,并使用cJSON_Parse函數將其轉換為cJSON對象。接著按照屬性名逐一獲取json對象中的屬性,并將其賦值給Student結構體中的各個屬性。
最后可以使用printf函數將學生信息打印出來,并使用cJSON_Delete函數釋放json對象的內存。這樣就完成了從json數據轉換為實體類的操作。