C List 和 JSON 是兩種數(shù)據(jù)格式,在開發(fā)中經(jīng)常被使用。C List 通常用于 C 語言中,而 JSON 則常用于 Web 開發(fā)等領(lǐng)域。在開發(fā)過程中,我們可能需要將 C List 轉(zhuǎn)換為 JSON,或者將 JSON 轉(zhuǎn)換為 C List。
下面是一個(gè) C List 的示例:
{ "name": "Tom", "age": 20, "gender": "male" }
下面是一個(gè)對應(yīng)的 JSON 示例:
[ { "key": "name", "value": "Tom" }, { "key": "age", "value": "20" }, { "key": "gender", "value": "male" } ]
我們可以使用代碼來實(shí)現(xiàn) C List 和 JSON 的互轉(zhuǎn)。
C List 轉(zhuǎn) JSON
// 首先,我們需要定義一個(gè) C List 結(jié)構(gòu)體 struct clist { char *key; char *value; struct clist *next; }; // 定義一個(gè)將 C List 轉(zhuǎn)為 JSON 的函數(shù) char *clist_to_json(struct clist *node) { char *result = "{"; while (node != NULL) { char *key = node->key; char *value = node->value; result = strcat(result, "\""); result = strcat(result, key); result = strcat(result, "\":\""); result = strcat(result, value); result = strcat(result, "\","); node = node->next; } result[strlen(result) - 1] = '}'; return result; }
JSON 轉(zhuǎn) C List
// 定義一個(gè) JSON 結(jié)構(gòu)體 struct json_node { char *key; char *value; struct json_node *next; }; // 定義一個(gè)將 JSON 轉(zhuǎn)為 C List 的函數(shù) struct clist *json_to_clist(struct json_node *node) { struct clist *list = NULL; while (node != NULL) { struct clist *new_node = (struct clist *) malloc(sizeof(struct clist)); new_node->key = node->key; new_node->value = node->value; new_node->next = list; list = new_node; node = node->next; } return list; }
以上是 C List 和 JSON 的互轉(zhuǎn)示例代碼,需要注意的是在實(shí)際開發(fā)中,我們還需要考慮異常情況的處理和數(shù)據(jù)格式的校驗(yàn)等問題。