JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,起初是為JavaScript語言而設計的,但現在已經成為一種通用的格式。C語言可以使用JSON格式來存儲和處理數據,通過JSON格式,C語言可以與其他編程語言進行數據交換。定義JSON格式可以使用C語言的數組和結構體。
typedef struct { char *name; char *value; } json_pair; typedef struct { int size; json_pair *pairs; } json_object; typedef struct { int size; json_object *objects; } json_array; typedef union { char *str_value; json_array *array_value; json_object *object_value; double num_value; int bool_value; } json_value; typedef struct { char *name; int type; json_value value; } json_element; typedef struct { int size; json_element *elements; } json;
以上代碼定義了一系列的數據結構,包括json_pair(鍵值對)、json_object(對象)、json_array(數組)、json_value(值)和json_element(元素)。所有的JSON數據都由這些結構組成。
例如,下面的代碼創建了一個JSON對象:
json_object obj; obj.size = 2; obj.pairs = calloc(2, sizeof(json_pair)); obj.pairs[0].name = "name"; obj.pairs[0].value = "John"; obj.pairs[1].name = "age"; obj.pairs[1].value = "25";
這個JSON對象有兩個鍵值對:name和age,對應的值分別是"John"和"25"。使用C語言定義JSON格式可以方便地存儲數據,并與其他編程語言進行數據交換。