C語言是一種高效、可移植、可擴展的編程語言,廣泛應用于各種領域。而JSON是一種輕量級的數據交換格式,具有可讀性好、易于解析、兼容性強等優點。C語言可以通過定義JSON數據類型來表示此類數據,使得程序能夠對其進行生成、解析等操作。
#include <stdio.h> #include <stdlib.h> #include <string.h> // JSON數據類型的定義 typedef struct JSON { char key[30]; char value[100]; struct JSON *next; } JSON; // JSON數據的生成 JSON *createJSON(char key[], char value[]) { JSON *json = (JSON *)malloc(sizeof(JSON)); strcpy(json->key, key); strcpy(json->value, value); json->next = NULL; return json; } // JSON數據的添加 void addJSON(JSON *parent, char key[], char value[]) { JSON *json = createJSON(key, value); JSON *child = parent->next; if (child == NULL) { parent->next = json; } else { while (child->next != NULL) { child = child->next; } child->next = json; } } // JSON數據的解析 void parseJSON(JSON *parent) { JSON *child = parent->next; while (child != NULL) { printf("%s: %s\n", child->key, child->value); child = child->next; } } // 測試 int main() { JSON *parent = createJSON("parent", ""); addJSON(parent, "name", "Tom"); addJSON(parent, "age", "20"); addJSON(parent, "gender", "male"); parseJSON(parent); return 0; }
上述代碼通過typedef關鍵字定義了JSON數據類型,使用了鏈表的數據結構來表示一個JSON對象。可以通過createJSON函數來創建一個JSON對象,addJSON函數向一個JSON對象添加鍵值對,parseJSON函數解析并打印JSON對象中的每個鍵值對。
通過以上的代碼,我們可以看到C語言完全可以定義并操作JSON類型數據,方便處理JSON格式的數據。