在使用 C 語言進行開發時,經常會遇到將 JSON 類型的字符串轉成自定義類的情況。下面介紹一下如何實現這一操作。
首先,我們需要使用第三方的 JSON 解析庫,這里我們以 cJSON 為例。首先需要將 JSON 字符串解析成 cJSON 結構體,然后再根據自定義類的屬性將 cJSON 結構體中的數據賦值給自定義類。
// JSON 字符串 char* json_str = "{\"name\":\"Tom\",\"age\":18}"; // 將字符串解析成 cJSON 結構體 cJSON* root = cJSON_Parse(json_str); // 自定義類 typedef struct { char* name; int age; } Person; // 根據 cJSON 結構體給自定義類賦值 Person person; person.name = cJSON_GetObjectItem(root, "name")->valuestring; person.age = cJSON_GetObjectItem(root, "age")->valueint;
這樣就完成了將 JSON 類型字符串轉成自定義類的步驟。
需要注意的是,cJSON_Parse 函數返回的 cJSON 結構體需要使用 cJSON_Delete 函數進行釋放。