在開發(fā)web應(yīng)用程序中,經(jīng)常需要將C程序中的JSON結(jié)構(gòu)轉(zhuǎn)換成List Map等其他結(jié)構(gòu)。這時(shí)候,我們可以使用CJSON庫來完成這個(gè)任務(wù)。
#include <stdio.h> #include <cJSON.h> int main() { char* json_string = "{\"name\":\"Amy\", \"age\":26, \"occupation\":\"AI programmer\"}"; cJSON* root = cJSON_Parse(json_string); cJSON* name = cJSON_GetObjectItem(root, "name"); cJSON* age = cJSON_GetObjectItem(root, "age"); cJSON* occupation = cJSON_GetObjectItem(root, "occupation"); printf("Name: %s\n", name->valuestring); printf("Age: %d\n", age->valueint); printf("Occupation: %s\n", occupation->valuestring); cJSON_Delete(root); return 0; }
在上面的例子中,我們傳入一個(gè)JSON字符串,并用CJSON庫解析出JSON對(duì)象。然后,我們用cJSON_GetObjectItem函數(shù)獲取對(duì)象中的每個(gè)屬性,并打印出其值。最后,我們調(diào)用cJSON_Delete函數(shù)來釋放內(nèi)存。這段代碼的輸出結(jié)果如下:
Name: Amy Age: 26 Occupation: AI programmer
從輸出結(jié)果可以看出,我們成功地將JSON字符串轉(zhuǎn)換為L(zhǎng)ist Map。