在使用C語言編寫CGI程序時,有時我們需要從后端返回JSON數據給前端。JSON是一種輕量級的數據交換格式,與JavaScript語言兼容,廣泛應用于Web開發中。本文將介紹如何在C語言中返回JSON。
首先,我們需要在代碼中引入json-c頭文件,它是一款簡單易用的處理JSON數據的C語言庫,可以方便地生成、解析和操作JSON數據。
#include <json-c/json.h>
然后,我們可以創建一個JSON對象,并設置其屬性。
json_object *obj = json_object_new_object(); // 創建JSON對象 json_object_object_add(obj, "name", json_object_new_string("John")); // 設置屬性 json_object_object_add(obj, "age", json_object_new_int(25)); json_object_object_add(obj, "is_married", json_object_new_boolean(0));
接下來,我們可以將JSON對象轉換為字符串并返回給前端。
char *json_str = json_object_to_json_string(obj); // 將JSON對象轉換為字符串 printf("Content-Type: application/json\r\n\r\n"); // 設置HTTP頭 printf("%s", json_str); // 返回JSON字符串
完整的C語言返回JSON示例代碼如下:
#include <stdio.h> #include <json-c/json.h> int main() { json_object *obj = json_object_new_object(); json_object_object_add(obj, "name", json_object_new_string("John")); json_object_object_add(obj, "age", json_object_new_int(25)); json_object_object_add(obj, "is_married", json_object_new_boolean(0)); char *json_str = json_object_to_json_string(obj); printf("Content-Type: application/json\r\n\r\n"); printf("%s", json_str); return 0; }
通過上述代碼示例,我們可以看到如何使用C語言返回JSON數據,并在前端進行數據處理。