欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c 枚舉轉json

錢良釵2年前8瀏覽0評論

在C語言中,枚舉類型很常見。這種類型可以將值表示為一組離散的常量,它們通常被映射到整數值。當我們需要將一個枚舉值轉換為一個JSON對象時,可以使用以下代碼:

#include#include#include#includeenum Fruit {
APPLE,
BANANA,
ORANGE
};
json_t* fruit_to_json(enum Fruit fruit) {
char* str_fruit;
switch (fruit) {
case APPLE:
str_fruit = "apple";
break;
case BANANA:
str_fruit = "banana";
break;
case ORANGE:
str_fruit = "orange";
break;
default:
return NULL;
}
json_t* j_fruit = json_string(str_fruit);
return j_fruit;
}
int main() {
json_t* j_obj = json_object();
json_object_set(j_obj, "fruit", fruit_to_json(BANANA));
char* j_str = json_dumps(j_obj, JSON_COMPACT);
printf("%s\n", j_str);
free(j_str);
json_decref(j_obj);
return 0;
}

首先,我們定義了一個名為“Fruit”的枚舉類型,其中包含了三個常量:APPLE,BANANA,ORANGE。然后,我們定義了一個fruit_to_json函數,它接受一個“Fruit”類型的枚舉值,并將其轉換為一個JSON對象。在該函數中,我們使用一個switch語句將枚舉值映射到一個字符串。最后,我們將該字符串轉換為一個json_t類型的對象,并返回它。 在main函數中,我們創建了一個名為“j_obj”的JSON對象,并向其添加了一個“fruit”屬性,該屬性的值通過調用fruit_to_json函數來獲取。然后,我們使用json_dumps函數將整個JSON對象轉換為一個字符串,并將其打印出來。 需要注意的是,我們在程序結束時使用了json_decref函數來釋放我們創建的json_t對象。這是非常重要的,因為它可以防止內存泄漏。