JSON是一種常用的數據格式,它有很多優點。在C語言中,可以通過構建一個JSON來描述數據。以下是如何使用C語言構建一個簡單的JSON的示例:
#include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_STRING_LEN 256 typedef struct { char *key; char *value; } Node; typedef struct { Node **nodes; int size; } Object; typedef struct { char *data; } String; typedef struct { char *data; } Number; typedef struct { Object *object; } JSON; void add_node_to_object(Object *object, char *key, char *value) { Node *new_node = (Node *) malloc(sizeof(Node)); new_node->key = key; new_node->value = value; object->nodes = (Node **) realloc(object->nodes, sizeof(Node *) * (object->size+1)); object->nodes[object->size] = new_node; object->size++; } Object *create_object() { Object *object = (Object *) malloc(sizeof(Object)); object->nodes = NULL; object->size = 0; return object; } String *create_string(char *data) { String *string = (String *) malloc(sizeof(String)); string->data = data; return string; } Number *create_number(char *data) { Number *number = (Number *) malloc(sizeof(Number)); number->data = data; return number; } JSON *create_json() { JSON *json = (JSON *) malloc(sizeof(JSON)); json->object = create_object(); return json; } void print_json(JSON *json) { int i; Object *object = json->object; printf("{\n"); for(i=0; i<object->size; i++) { printf("\t\"%s\": \"%s\"\n", object->nodes[i]->key, object->nodes[i]->value); } printf("}\n"); } int main() { JSON *json = create_json(); add_node_to_object(json->object, "name", "張三"); add_node_to_object(json->object, "age", "25"); add_node_to_object(json->object, "sex", "男"); print_json(json); return 0; }
上面的代碼中,我們構建了一些結構體,包括節點(Node)、對象(Object)、字符串(String)、數字(Number)和JSON。其中,節點是構成對象的基本單元,而對象則可以包含多個節點,節點按照鍵值對的形式存儲。字符串和數字是節點的具體內容。整個JSON則是一個對象。
在主函數中,我們首先創建了一個JSON對象,然后添加了三個節點,分別表示“姓名”、“年齡”和“性別”。最后,我們將JSON輸出到控制臺,在控制臺上可以看到一個合法的JSON字符串。
上一篇python 畫疊加圖
下一篇python 電腦觸摸屏