JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,它具有易讀、易解析、易編寫的特點。在日常開發中,我們常需要將數據轉化為JSON格式進行傳輸或存儲。而在C語言中,我們可以使用第三方庫來進行JSON的封包和解析。
#include "json-c/json.h" #include <stdio.h>int main() { // 定義一個JSON object struct json_object *myobj = json_object_new_object(); struct json_object *arr = json_object_new_array(); // 添加鍵值對到object中 json_object_object_add(myobj, "name", json_object_new_string("Tom")); json_object_object_add(myobj, "age", json_object_new_int(25)); // 添加元素到array中 json_object_array_add(arr, json_object_new_string("apple")); json_object_array_add(arr, json_object_new_int(3)); // 將array添加至object中 json_object_object_add(myobj, "fruits", arr); // 將object轉換為JSON格式的字符串 const char *str = json_object_to_json_string(myobj); // 輸出JSON格式的字符串 printf("%s\n", str); // 釋放內存 json_object_put(myobj); return 0; }
上述代碼中,我們使用了json-c庫來定義一個JSON對象,往里面添加鍵值對和數組元素,并將整個對象轉換為JSON格式的字符串。其中,json_object_new_object()
函數用于創建一個JSON object,json_object_new_array()
函數用于創建一個JSON array,json_object_object_add()
函數用于向object中添加鍵值對,json_object_array_add()
函數用于向array中添加元素,json_object_to_json_string()
函數用于將JSON對象轉換為JSON格式的字符串。最后,我們使用json_object_put()
函數釋放內存。
JSON作為一種通用的數據交換格式,被廣泛應用于前后端交互、移動端與服務器之間交互等領域。在C語言中,使用json-c等第三方庫進行JSON的封包和解析能夠提高開發效率,減少出錯率。
下一篇c語言json庫對比