JSON是一種輕量級的數據交換格式,常用于Web應用程序中的數據傳輸。在C語言中,我們可以通過結構體實現一種封裝JSON數據的數據類型。
typedef enum { JSON_NULL, JSON_FALSE, JSON_TRUE, JSON_NUMBER, JSON_STRING, JSON_ARRAY, JSON_OBJECT } json_type; typedef struct { json_type type; union { double number; /* JSON_NUMBER */ struct { char *s; /* JSON_STRING */ size_t len; }; struct { struct json_value *e; /* JSON_ARRAY */ size_t size; } a; struct { char **k; /* JSON_OBJECT */ struct json_value *v; size_t size; } o; } u; } json_value;
上述代碼定義了一個JSON數據類型的結構體json_value。其中,type表示JSON數據類型,u是一個共用體,存儲JSON數據的具體值。該結構體可以存儲null、false、true、數字、字符串、數組和對象等JSON數據類型。
使用該數據類型的示例代碼如下:
json_value value; value.u.number = 123.45; value.type = JSON_NUMBER;
如上述代碼所示,我們可以通過給json_value結構體的u.number成員賦值來表示一個數字類型。同時,需要設置type為JSON_NUMBER表明該值是一個數字類型。
通過以上方法,我們可以實現C語言中JSON數據類型的封裝以及讀取,寫入等操作,可以方便數據傳輸和處理。
上一篇python 瀏覽器多開
下一篇python 瀏覽器拖拽