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

c 初始化 json

吉茹定2年前8瀏覽0評論

JSON是一種輕量級的數據交換格式,廣泛應用于Web開發和API調用中。在C語言中,我們可以通過初始化結構體來創建JSON對象。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定義JSON結構體
typedef struct json_t {
int type;
union {
char* string;
int number;
struct json_t* subjson;
} data;
} json_t;
// 初始化字符串類型的JSON對象
json_t* init_string_json(char* str) {
json_t* json = (json_t*)malloc(sizeof(json_t));
json->type = 1;  //1表示字符串類型
json->data.string = (char*)malloc(strlen(str) + 1);
strcpy(json->data.string, str);
return json;
}
// 初始化整數類型的JSON對象
json_t* init_number_json(int num) {
json_t* json = (json_t*)malloc(sizeof(json_t));
json->type = 2;  //2表示整數類型
json->data.number = num;
return json;
}
// 初始化子JSON對象
json_t* init_subjson(json_t* subjson) {
json_t* json = (json_t*)malloc(sizeof(json_t));
json->type = 3;  //3表示子JSON對象類型
json->data.subjson = subjson;
return json;
}
int main() {
// 初始化JSON對象
json_t* json = init_string_json("Hello World");
json_t* subjson = init_number_json(123);
json_t* root = init_subjson(subjson);
// 輸出JSON對象類型和內容
printf("json type: %d\njson content: %s\n", json->type, json->data.string);
printf("subjson type: %d\nsubjson content: %d\n", subjson->type, subjson->data.number);
printf("root type: %d\nsubjson type: %d\nsubjson content: %d\n", root->type, root->data.subjson->type, root->data.subjson->data.number);
// 釋放內存
free(json->data.string);
free(json);
free(subjson);
free(root);
return 0;
}

在上面的代碼中,我們定義了一個JSON結構體,包含三種類型的數據:字符串、整數和子JSON對象。隨后,我們分別定義了三個函數來初始化這三種類型的JSON對象。

在main函數中,我們通過這三個函數分別初始化了一個字符串類型的JSON對象、一個整數類型的JSON對象和一個子JSON對象,然后輸出了它們的類型和內容。最后,我們釋放了這些JSON對象所占用的內存。