C語言中操作json數據的庫有很多,其中比較常用的是cjson庫。cjson庫提供了很多函數來操作json數據,其中一個比較重要的是
#include <stdio.h> #include <cjson.h> int main() { cJSON *root = cJSON_CreateObject();//創建根節點 cJSON_AddStringToObject(root, "name", "Lucy");//添加字符串信息 cJSON_AddNumberToObject(root, "age", 18);//添加整數信息 printf("%s\n", cJSON_Print(root));//序列化輸出json數據 cJSON_Delete(root);// 釋放節點和節點下的所有子節點的內存空間 return 0; }
在上述代碼中,使用了
序列化輸出的順序是按照節點創建的先后順序輸出的。如果我們想要改變序列化輸出的順序,我們可以在創建節點的時候就指定節點的位置來達到目的。
root = json_creat_object(); // 創建根節點 cjson_AddStringToObject(root, "name", "Lucy"); // 添加字符串信息 cjson_AddStringToObject(root, "gender", "female"); // 添加字符串信息 cjson_AddNumberToObject(root, "age", 18); // 添加整數信息 cjson_AddNumberToObject(root, "score", 90); // 添加整數信息 cjson_AddItemToObject(root, "hobby", cjson_create_array()); // 添加數組 cJSON *hobby = cJSON_GetObjectItem(root, "hobby"); // 獲取數組 cjson_AddItemToArray(hobby, cjson_CreateString("reading")); // 向數組添加字符串 cjson_AddItemToArray(hobby, cjson_CreateString("music")); cjson_AddItemToArray(hobby, cjson_CreateString("travel")); cjson_AddItemToArray(hobby, cjson_CreateString("writing")); printf("%s\n", cjson_Print(root)); // 序列化輸出json數據
在上述代碼中,我們在添加完字符串、整數類型的節點之后,又添加了一個數組類型的節點
這樣,當我們使用
上一篇vue flask 部署
下一篇python 進程池 慢