C語言中的字典可以用結構體來表示。比如下面這個例子:
struct Person { char* name; int age; float height; };
其中每一個Person的實例就代表一個人,其中包含了名字、年齡和身高。現在我們想把這個Person的實例轉化成JSON格式,該怎么做呢?
首先,我們需要將這個結構體轉化成一個字典,使用鍵值對的方式進行存儲。代碼如下:
void toJSON(struct Person* person, char* json) { sprintf(json, "{ \"name\": \"%s\", \"age\": %d, \"height\": %f }", person->name, person->age, person->height); }
該函數將結構體轉化成JSON字符串,并將結果存在了json參數中。
使用的時候,我們只需要調用toJSON函數,然后將結果輸出即可:
struct Person p = { "Tom", 20, 1.8}; char json[100]; toJSON(&p, json); printf("%s", json);
運行結果如下:
{ "name": "Tom", "age": 20, "height": 1.800000 }
這樣我們就完成了把一個C語言的字典轉化成JSON格式的工作。