JSON是一種輕量級的數據交換格式,而cjson是一個C語言中用來解析JSON的庫。cjson庫的print json函數可以將解析后的JSON格式數據以清晰易讀的方式打印出來,方便調試和查看。
#include <stdio.h> #include <cjson/cJSON.h> int main() { char *json_str = "{\"name\":\"Cindy\", \"age\":25, \"gender\":\"female\", \"hobbies\":[\"reading\", \"swimming\"]}"; // 解析JSON字符串 cJSON *json = cJSON_Parse(json_str); // 打印JSON數據 char *json_printed = cJSON_Print(json); printf("%s\n", json_printed); // 釋放內存 cJSON_Delete(json); free(json_printed); return 0; }
在上面的代碼中,我們首先定義了一個JSON格式的字符串json_str,它包含了姓名、年齡、性別和愛好四個數據項。然后使用cJSON的解析函數cJSON_Parse將該字符串轉換成了一個cJSON對象json。接著,通過調用cJSON的print json函數cJSON_Print,將解析后的JSON數據以字符串形式打印出來。最后,使用cJSON_Delete釋放了內存。
打印出來的JSON數據如下:
{ "name": "Cindy", "age": 25, "gender": "female", "hobbies": [ "reading", "swimming" ] }
從上面的JSON數據可以看出,它包含了一個名為“name”的數據項,它的值是“Cindy”;還包含了一個名為“age”的數據項,它的值是25;還包含了一個名為“gender”的數據項,它的值是“female”;最后還包含了一個名為“hobbies”的數據項,它的值是一個包含了“reading”和“swimming”兩個字符串的數組。