色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

c json 序列化 順序

江奕云1年前10瀏覽0評論

C語言中操作json數據的庫有很多,其中比較常用的是cjson庫。cjson庫提供了很多函數來操作json數據,其中一個比較重要的是json_creat_object()函數。這個函數可以創建一個json對象,使用該函數可以將需要序列化的數據轉化為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;
}

在上述代碼中,使用了json_creat_object()函數來創建了一個json對象,通過cJSON_AddStringToObject()cJSON_AddNumberToObject()函數來向創建的json對象中添加數據,然后通過cJSON_Print()函數將json對象序列化輸出。

序列化輸出的順序是按照節點創建的先后順序輸出的。如果我們想要改變序列化輸出的順序,我們可以在創建節點的時候就指定節點的位置來達到目的。

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數據

在上述代碼中,我們在添加完字符串、整數類型的節點之后,又添加了一個數組類型的節點"hobby",并且通過cJSON_GetObjectItem()函數獲取到了該數組,并調用cjson_AddItemToArray()函數向該數組中添加了一些節點。

這樣,當我們使用cJSON_Print()函數將該json對象序列化輸出時,輸出的順序將會按照節點創建的位置來進行。