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

c json 序列化 反序列化

錢斌斌1年前8瀏覽0評論

C JSON是一種輕量級的數據格式,常用于數據交換和存儲。C JSON序列化和反序列化是C語言中常用的操作,有助于將C語言程序中的數據以C JSON格式進行轉換,方便數據的傳輸和存儲。以下是介紹C JSON序列化和反序列化的方法。

C JSON序列化可以將C語言中的數據序列化為C JSON格式的字符串,以便于數據的傳輸和存儲。C語言中有很多開源的JSON序列化庫,例如cJSON和Jansson,這些庫都提供了簡單易用的API,方便C語言程序員使用。

#include "cJSON.h"
//C JSON序列化
int main() {
cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "Tom");
cJSON_AddNumberToObject(root, "age", 18);
char *json = cJSON_Print(root);
printf("%s\n", json);
cJSON_Delete(root);
free(json);
return 0;
}

上述代碼使用cJSON庫將一個C結構體轉換成C JSON格式的字符串,并打印出來。其中,cJSON_CreateObject用于創建一個C JSON根節點,cJSON_AddStringToObject和cJSON_AddNumberToObject用于添加字符串和數字屬性,cJSON_Print實現將C JSON格式的數據以字符串形式輸出。最后需要手動釋放內存。

C JSON反序列化可以將C JSON格式的字符串轉換為C語言中的數據,方便程序使用。同樣,cJSON和Jansson等開源庫也提供了簡單易用的API。

#include "cJSON.h"
//C JSON反序列化
int main() {
char *json_string = "{\"name\":\"Tom\",\"age\":18}";
cJSON *root = cJSON_Parse(json_string);
char *name = cJSON_GetObjectItem(root, "name")->valuestring;
int age = cJSON_GetObjectItem(root, "age")->valueint;
printf("name: %s, age: %d\n", name, age);
cJSON_Delete(root);
return 0;
}

上述代碼使用cJSON庫將一個C JSON格式的字符串轉換成C語言中的結構體,并取出其中的屬性值。其中,cJSON_Parse將C JSON格式的字符串轉換為C JSON節點,cJSON_GetObjectItem用于獲取指定節點的屬性值。最后需要手動釋放內存。