在C語言的開發(fā)中,常常需要通過JSON格式來傳遞數(shù)據(jù)。而在C語言中,使用JSON格式解析庫可以很方便地將JSON格式字符串轉(zhuǎn)換為對應(yīng)的數(shù)據(jù)類型。對于轉(zhuǎn)換為實例類對象,則需要一定的額外處理。下面我們以cJSON為例,介紹如何將JSON格式轉(zhuǎn)換為實例類對象。
#include "cJSON.h" #include <stdio.h> typedef struct { int id; char name[20]; float score; } Student; int main() { char *json_text = "{\"id\":1,\"name\":\"John\",\"score\":98.5}"; cJSON *root = cJSON_Parse(json_text); Student student; student.id = cJSON_GetObjectItem(root, "id")->valueint; strcpy(student.name, cJSON_GetObjectItem(root, "name")->valuestring); student.score = cJSON_GetObjectItem(root, "score")->valuedouble; printf("Student ID: %d\n", student.id); printf("Student Name: %s\n", student.name); printf("Student Score: %.1f\n", student.score); cJSON_Delete(root); return 0; }
首先,我們定義了一個Student結(jié)構(gòu)體,來表示學(xué)生信息。然后,我們創(chuàng)建了一個JSON格式的字符串,模擬了一個學(xué)生信息的JSON數(shù)據(jù)。接著,我們使用cJSON_Parse函數(shù)將JSON字符串解析為cJSON對象。然后,我們根據(jù)JSON對象的key,從對象中獲取對應(yīng)的值,再將值賦給相應(yīng)的Student結(jié)構(gòu)體字段。最后,我們輸出了Student對象的各個字段,以驗證轉(zhuǎn)換是否成功。最后要記得釋放cJSON對象,避免內(nèi)存泄漏。
上一篇vue clo