在C語言中,如果我們需要在web開發中返回一個JSON格式的響應,就需要在HTTP響應頭中增加Content-Type為application/json,這樣客戶端就可以正確解析我們返回的JSON數據。下面是一個使用C語言返回JSON數據的示例:
#include <stdio.h> #include <string.h> #include <jansson.h> /* 構造一個JSON對象 */ json_t *create_json_object() { /* 創建一個空的json對象 */ json_t *result = json_object(); /* 設置屬性 */ json_object_set_new(result, "name", json_string("Alice")); json_object_set_new(result, "age", json_integer(18)); json_object_set_new(result, "gender", json_string("female")); /* 返回json對象 */ return result; } /* 將json數據轉換為字符串 */ char *json_to_str(json_t *json) { /* JSON_INDENT(4)用于添加縮進,方便閱讀 */ return json_dumps(json, JSON_INDENT(4)); } /* 返回json數據 */ void return_json_data() { /* 構造json對象 */ json_t *result = create_json_object(); /* 將json對象轉換為字符串 */ char *json_str = json_to_str(result); /* 返回響應 */ printf("HTTP/1.1 200 OK\r\n"); printf("Content-Type: application/json\r\n"); printf("Content-Length: %lu\r\n", strlen(json_str)); printf("\r\n"); printf("%s\r\n", json_str); } int main() { return_json_data(); return 0; }
在上面的示例中,我們使用了jansson庫來構造和解析JSON數據。值得注意的是,在返回響應時,我們使用了printf函數將響應寫入標準輸出流中并返回給客戶端。
上一篇d3中json怎么調用
下一篇d3中json的用法