在使用C語言開發中,我們經常需要將數據轉化為JSON格式進行傳遞和處理。本文將介紹如何將CListT(基于CList實現的數據結構)轉化為JSON數組。
#include <stdio.h> #include <stdlib.h> #include <string.h> #include "CListT.h" #include "cJSON.h" //將CListT轉化為JSON數組 cJSON* clist_to_json_array(CListT* clist) { cJSON* json_array = cJSON_CreateArray(); CListIterator it; for(it = clBegin(clist); !clIsEnd(it); it = clNext(it)) { int* val = (int*) clGet(it); cJSON_AddItemToArray(json_array, cJSON_CreateNumber(*val)); } return json_array; } int main() { //創建一個CListT并添加元素 CListT* clist = clNew(sizeof(int)); int i; for(i = 1; i<= 5; i++) { clPushFront(clist, &i); } //將CListT轉化為JSON數組 cJSON* json_array = clist_to_json_array(clist); //將JSON數組轉化為字符串并打印輸出 char* result = cJSON_Print(json_array); printf("JSON Array: %s\n", result); free(result); //釋放內存 clFree(&clist); cJSON_Delete(json_array); return 0; }
上述代碼使用了cJSON庫,該庫是一個輕量級的JSON解析和生成庫,可以方便地將JSON格式數據轉化為C結構體或者將C結構體轉化為JSON格式數據。在代碼中,我們首先創建了一個CListT并添加了5個元素,然后將CListT轉化為JSON數組并將結果輸出。最后釋放內存。