在C語言中,我們可以使用結構體來定義JSON類型的數據。JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,常用于前后端數據傳輸。
typedef struct { char* key; char* value; } json_pair; typedef struct { int size; json_pair* pairs; } json_object; typedef struct { int size; char** values; } json_array; typedef struct { enum { OBJECT, ARRAY, STRING } type; union { json_object object; json_array array; char* string; } data; } json_value;
在這個結構體中,我們定義了四種不同的類型:json_pair表示鍵值對,json_object表示JSON對象,json_array表示JSON數組,json_value表示JSON的值。對于JSON對象和數組,我們使用動態數組去存儲其鍵值對或元素,避免了固定長度的限制。
此外,對于JSON值,我們使用了一個聯合體并使用枚舉類型來標識不同的類型,方便了之后的解析操作。