C WebAPI Return JSON
使用C語言編寫Web API時,一種常用的方式是使用JSON作為數據傳輸格式。JSON是一種輕量級的數據交換格式,易于數據解析和存儲。本篇文章將介紹如何在C Web API中返回JSON數據。
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <cjson/cJSON.h> char *get_user_info_json() { cJSON *root, *user; char *out; root = cJSON_CreateObject(); user = cJSON_CreateObject(); cJSON_AddItemToObject(root, "user", user); cJSON_AddItemToObject(user, "name", cJSON_CreateString("John Smith")); cJSON_AddItemToObject(user, "age", cJSON_CreateNumber(30)); cJSON_AddItemToObject(user, "city", cJSON_CreateString("New York")); out = cJSON_Print(root); cJSON_Delete(root); return out; } int main() { char *user_info_json; user_info_json = get_user_info_json(); printf("%s", user_info_json); free(user_info_json); return 0; }
在上述代碼中,我們使用了cJSON庫函數來創建JSON對象。首先創建一個空的JSON對象root,然后在root中創建一個名為user的子對象。接著在user對象中添加三個鍵值對,分別為name、age和city,并使用cJSON_CreateString和cJSON_CreateNumber創建對應的值。
最后使用cJSON_Print將JSON對象轉為JSON格式字符串,同時使用cJSON_Delete函數釋放內存。這樣我們就可以在Web API中返回該JSON字符串。
在C Web API中返回JSON字符串的方法與返回常規字符串相同,通過HTTP響應頭設置Content-Type為application/json,然后返回JSON字符串即可。
在使用JSON作為Web API的數據傳輸格式時,需要注意JSON中只能使用雙引號,不能使用單引號或無引號,否則將無法正常解析。此外,還需要注意避免在JSON中包含回車或換行符,否則也會導致解析錯誤。