C語言中的list很常見,而JSON格式也是現代Web開發所必需的。因此,將C語言中的list轉換成JSON格式是必備技能。
struct node { int data; struct node *next; }; //使用json-c庫 #include//將list轉換成JSON格式 char *list_to_json(struct node *head) { json_object *jobj = json_object_new_array(); struct node *current = head; while (current != NULL) { json_object *jint = json_object_new_int(current->data); json_object_array_add(jobj, jint); current = current->next; } return json_object_to_json_string(jobj); } //測試函數 int main() { struct node *head = NULL; head = add_node(head, 1); head = add_node(head, 2); head = add_node(head, 3); char *json_str = list_to_json(head); printf("%s\n", json_str); return 0; }
在代碼中,我們使用了json-c庫來構建JSON對象和數組。首先,我們創建了一個json_object類型的指針jobj,并使用json_object_new_array函數將其初始化為一個空的JSON數組。
隨后,我們遍歷了list,并使用json_object_new_int和json_object_array_add函數來向JSON數組中添加元素。最后,我們使用json_object_to_json_string函數將JSON對象轉換成字符串,以便輸出。
在測試函數中,我們創建了一個包含3個元素的list,并將其轉換成JSON格式。最后,我們輸出了JSON格式的字符串。