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

c 把集合變成json

黃文隆1年前7瀏覽0評論

在 C 語言中,如果我們想要把一個集合變成 JSON 格式,可以使用以下代碼:

#include#include#includetypedef struct {
char *key;
char *value;
} KeyValuePair;
typedef struct {
KeyValuePair *pairs;
int size;
} Dictionary;
char *dictionary_to_json(Dictionary dict) {
char *json = (char *)malloc(sizeof(char));
json[0] = '{';
json[1] = '\0';
for (int i = 0; i< dict.size; i++) {
KeyValuePair pair = dict.pairs[i];
char *key_json = (char *)malloc(strlen(pair.key) + 10);
char *value_json = (char *)malloc(strlen(pair.value) + 10);
sprintf(key_json, "\"%s\": ", pair.key);
sprintf(value_json, "\"%s\"", pair.value);
json = (char *)realloc(json, strlen(json) + strlen(key_json)
+ strlen(value_json) + 10);
strcat(json, key_json);
strcat(json, value_json);
if (i< dict.size - 1) {
strcat(json, ", ");
}
free(key_json);
free(value_json);
}
json = (char *)realloc(json, strlen(json) + 2);
strcat(json, "}");
return json;
}
int main() {
Dictionary dict = {
.pairs = (KeyValuePair[]) {
{"name", "Alex"},
{"age", "25"},
{"gender", "male"}
},
.size = 3
};
char *json = dictionary_to_json(dict);
printf("JSON: %s\n", json);
free(json);
return 0;
}

上述代碼定義了兩個結構體,一個是鍵值對,另一個是字典。字典使用鍵值對來存儲數據。函數dictionary_to_json將字典轉換成 JSON 格式的字符串。它遍歷字典中的所有鍵值對,然后將它們轉換成 JSON 格式的字符串。最后,函數將所有字符串連接起來,并返回 JSON 格式的字符串。在主函數中,我們創建一個字典,將其轉換成 JSON 格式的字符串,并將其打印出來。

使用上述代碼,我們可以將任何鍵值對的集合轉換成 JSON 格式的字符串。