JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,以易于閱讀和編寫的方式廣泛應用于Web應用程序之間的數據交換。在C語言中,有許多JSON庫可供使用,如Jansson、cJSON、jsmn等。其中,Jansson是目前應用最廣泛的JSON庫之一,本文主要以Jansson為例,介紹C語言中的JSON庫的使用方法。
使用Jansson庫首先需要下載并安裝庫文件。在Ubuntu上可以使用以下命令進行安裝:
sudo apt install libjansson-dev
接著,在編寫C代碼時需要包含頭文件jansson.h,并使用以下代碼創建一個JSON對象:
json_t *root; root = json_object();
然后就可以往對象中添加鍵值對,如:
json_object_set_new(root, "name", json_string("John")); json_object_set_new(root, "age", json_integer(28));
這樣就創建了一個名為name,值為"John",年齡為28的JSON對象。可以將其編碼為字符串后輸出,如下所示:
char *json_str; json_str = json_dumps(root, JSON_COMPACT); printf("JSON Object: %s\n", json_str); free(json_str);
其中,JSON_COMPACT參數用于輸出壓縮后的字符串。輸出結果為:
JSON Object: {"name":"John","age":28}
以上是對JSON對象的創建和編碼,反之,解碼JSON字符串為JSON對象也十分簡單,只需使用以下代碼:
json_t *root; json_error_t error; root = json_loads(json_str, 0, &error);
其中,json_str為JSON字符串。可以對JSON對象進行遍歷等操作,詳細使用方法請查看Jansson庫的官方文檔。