在實際應用中,我們有時候需要將數據以 JSON 形式返回。C 語言內置的 JSON 庫 cJSON 可以方便地實現這一功能。通常來說,cJSON_CreateArray 函數用于創建一個 JSON 數組,返回的節點類型為 cJSON_Array,但是有時候我們需要返回一個 JSON 對象。
返回 JSON 對象的方法非常簡單,只需要使用 cJSON_CreateObject 函數創建一個 cJSON 對象節點,然后向其中添加鍵值對即可。
cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "張三");
cJSON_AddNumberToObject(root, "age", 18);
cJSON_AddStringToObject(root, "gender", "男");
char *jsonStr = cJSON_Print(root);
在上面的代碼中,首先創建一個 cJSON 對象節點 root,然后通過 cJSON_AddStringToObject 和 cJSON_AddNumberToObject 向其中添加鍵值對,最后通過 cJSON_Print 函數將 cJSON 對象節點轉換為 JSON 字符串。
需要注意的是,由于這里并沒有使用 cJSON_CreateArray 函數創建一個 JSON 數組節點,因此返回的 JSON 字符串是一個 JSON 對象而不是一個 JSON 數組。
總之,通過 cJSON_CreateObject 函數創建 cJSON 對象節點,并添加鍵值對,就可以輕松地返回一個 JSON 對象,而不是一個 JSON 數組。