C JSON是一款流行的C語言json庫,它能夠方便地將C語言的數(shù)據(jù)結構轉換為json格式,并支持讀取和寫入json數(shù)據(jù)。在本文中,我們將介紹如何使用C JSON寫入json消息。
#include <stdio.h> #include <stdlib.h> #include <cJSON.h> int main() { //創(chuàng)建一個json對象 cJSON* root = cJSON_CreateObject(); //添加一個布爾類型的鍵值對 cJSON_AddItemToObject(root, "isOnline", cJSON_CreateBool(1)); //添加一個字符串類型的鍵值對 cJSON_AddItemToObject(root, "name", cJSON_CreateString("張三")); //創(chuàng)建一個數(shù)組 cJSON* array = cJSON_CreateArray(); //添加三個整型元素到數(shù)組中 cJSON_AddItemToArray(array, cJSON_CreateNumber(1)); cJSON_AddItemToArray(array, cJSON_CreateNumber(2)); cJSON_AddItemToArray(array, cJSON_CreateNumber(3)); //將數(shù)組添加到json對象中 cJSON_AddItemToObject(root, "numbers", array); //將json對象轉換為字符串 char* json_str = cJSON_PrintUnformatted(root); //輸出json字符串 printf("%s\n", json_str); //釋放內存 free(json_str); cJSON_Delete(root); return 0; }
在上面的代碼中,我們首先創(chuàng)建了一個json對象,并且通過cJSON_AddItemToObject函數(shù)將一些鍵值對和數(shù)組添加到這個對象中。接著,我們使用cJSON_PrintUnformatted函數(shù)將json對象轉換為字符串,并且輸出這個字符串。
需要注意的是,在使用C JSON寫入json消息時,我們需要手動釋放內存以避免內存泄漏。在代碼的最后,我們使用cJSON_Delete函數(shù)釋放json對象所占用的內存。