在C語言中,要返回JSON格式的數據時,最好使用一個現成的JSON庫。其中一個廣泛使用的庫是cJSON。
使用cJSON,我們可以像以下示例代碼一樣創建一個JSON對象:
cJSON *root = cJSON_CreateObject(); cJSON_AddItemToObject(root, "name", cJSON_CreateString("Alice")); cJSON_AddItemToObject(root, "age", cJSON_CreateNumber(20)); cJSON_AddItemToObject(root, "isStudent", cJSON_CreateFalse()); cJSON *hobby = cJSON_CreateArray(); cJSON_AddItemToArray(hobby, cJSON_CreateString("reading")); cJSON_AddItemToArray(hobby, cJSON_CreateString("music")); cJSON_AddItemToObject(root, "hobby", hobby);
上面的代碼創建了一個包含"name"、"age"、"isStudent"和"hobby"鍵的JSON對象。"name"鍵的值是字符串"Alice","age"鍵的值是數字20,"isStudent"鍵的值是布爾值false,"hobby"鍵的值是字符串數組["reading", "music"]。
要將cJSON對象格式化為JSON字符串,我們可以使用cJSON_Print()函數。示例如下:
char *json_str = cJSON_Print(root); printf("%s\n", json_str);
上面的代碼將cJSON對象格式化為JSON字符串,并打印在控制臺上。
cJSON還提供了一些其他函數,可用于在解析JSON字符串時創建JSON對象。要解析JSON字符串,我們可以使用cJSON_Parse()函數。例如:
char *json_str = "{\"name\":\"Alice\",\"age\":20,\"isStudent\":false,\"hobby\":[\"reading\",\"music\"]}"; cJSON *root = cJSON_Parse(json_str);
使用上面的代碼,我們可以從JSON字符串中創建一個JSON對象。
總體而言,cJSON是一個簡單而強大的JSON庫,可以幫助我們快速創建和解析JSON數據。