C JSON 轉類型是一個相當常見的任務。通常,JSON 數(shù)據(jù)需要被轉換成 C 語言數(shù)據(jù)類型以便于在程序中進一步處理。C JSON 庫提供了一組函數(shù)來進行這個轉換任務,這些函數(shù)可以根據(jù) JSON 的類型將其轉換成 C 語言數(shù)據(jù)類型。
#include <stdio.h> #include <cJSON.h> int main() { char* jsonString = "{\"name\":\"John\",\"age\":30,\"isActive\":true,\"salary\":2500.00}"; cJSON* json = cJSON_Parse(jsonString); // convert to string char* name = cJSON_GetObjectItem(json, "name")->valuestring; printf("Name: %s\n", name); // convert to integer int age = cJSON_GetObjectItem(json, "age")->valueint; printf("Age: %d\n", age); // convert to boolean int isActive = cJSON_GetObjectItem(json, "isActive")->type == cJSON_True; printf("Active: %d\n", isActive); // convert to float float salary = cJSON_GetObjectItem(json, "salary")->valuedouble; printf("Salary: %.2f\n", salary); cJSON_Delete(json); return 0; }
在上面的示例中,我們使用了 cJSON 庫解析了一個 JSON 字符串。然后,我們使用 cJSON_GetObjectItem 函數(shù)來獲取 JSON 對象中的相關鍵值,并根據(jù)其類型轉換成了 C 語言中的不同數(shù)據(jù)類型。在這個例子中,我們演示了如何將 JSON 的字符串,整數(shù),布爾和浮點數(shù)分別轉換成 C 語言中的 char*,int,bool 和 float。
總體來說,C JSON 庫提供了一個簡單而又高效的方式來進行 C 語言和 JSON 數(shù)據(jù)之間的轉換。通過使用其提供的相關函數(shù),我們可以很容易地將 JSON 數(shù)據(jù)轉換成各種 C 語言數(shù)據(jù)類型,從而可以利用這些數(shù)據(jù)對程序進行操作。