JSON是一種輕量級數(shù)據(jù)交換格式,其語法簡潔清晰,易于讀寫。在C語言中,如果需要生成JSON字符串,可以使用第三方庫如cJSON來完成。
//創(chuàng)建JSON對象 cJSON *root = cJSON_CreateObject(); //添加鍵值對 cJSON_AddStringToObject(root, "name", "John"); cJSON_AddNumberToObject(root, "age", 25); cJSON *address = cJSON_CreateObject(); cJSON_AddStringToObject(address, "city", "New York"); cJSON_AddStringToObject(address, "state", "NY"); cJSON_AddItemToObject(root, "address", address); //轉(zhuǎn)換為JSON字符串 char *json_str = cJSON_Print(root); //釋放JSON對象 cJSON_Delete(root);
在上面的示例中,先創(chuàng)建了一個空的JSON對象root,然后使用cJSON_AddXXXToObject函數(shù)向其中添加鍵值對。cJSON_AddStringToObject用于添加字符串類型的鍵值對,cJSON_AddNumberToObject用于添加數(shù)字類型的鍵值對。如果需要添加更復(fù)雜的數(shù)據(jù)結(jié)構(gòu),可以使用cJSON_CreateObject創(chuàng)建一個新的JSON對象,然后使用cJSON_AddItemToObject將其添加到其他JSON對象中。
最后,使用cJSON_Print將JSON對象轉(zhuǎn)換為JSON字符串,并且需要手動釋放JSON對象。
//輸出JSON字符串 printf("json_str: %sn", json_str); //釋放JSON字符串 free(json_str);
上面的代碼展示了如何輸出JSON字符串,并且需要手動釋放該字符串。在實際使用中,可以根據(jù)需要自行決定是否釋放JSON字符串。