C語言中的CMap表是一種將鍵和值進行映射的數據結構。而JSON是一種常用的數據交換格式。因此,將CMap表轉換成JSON格式可以方便我們進行數據的傳輸和處理。
#include <stdio.h>
#include <cjson/cJSON.h>
#include <string.h>
#define MAP_SIZE 4
typedef struct {
char* key;
char* value;
} MAP;
MAP myMap[MAP_SIZE] = {{"name", "Lucas"}, {"age", "20"}, {"gender", "male"}, {"hobby", "reading"}};
int main(void) {
cJSON* root = cJSON_CreateObject();
for(int i = 0; i < MAP_SIZE; i++) {
cJSON_AddStringToObject(root, myMap[i].key, myMap[i].value);
}
char* jsonStr = cJSON_Print(root);
printf("%s", jsonStr);
cJSON_Delete(root);
return 0;
}
上述代碼使用C語言的CMap表來存儲數據,再利用cJSON庫中的cJSON_CreateObject()函數創建一個JSON對象。然后通過循環將CMap表中的每個鍵值對添加到JSON對象中,最后調用cJSON_Print()函數將JSON對象打印為JSON字符串。