欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

c json大數據系列化

劉姿婷2年前8瀏覽0評論

由于近年來互聯網應用日益增多,因此對于數據的處理能力的要求也越來越高。用C語言實現JSON的大數據系列化是實現高效數據上傳與保存的重要手段之一。

#include#include#include#include#include "cJSON.h"
#define BUFFER_SIZE 1024*1024*10   //設置緩沖區大小
//模擬大的數據
const char* bigData()
{
cJSON* root=cJSON_CreateObject();
cJSON_AddStringToObject(root,"name","Tom");
cJSON_AddNumberToObject(root,"age",18);
cJSON_AddStringToObject(root,"addr","NewYork");
cJSON_AddNumberToObject(root,"height",175);
cJSON_AddNumberToObject(root,"weight",60);
cJSON_AddNumberToObject(root,"score",99);
cJSON_AddStringToObject(root,"id","20191111");
cJSON_AddStringToObject(root,"class","三年一班");
cJSON_AddStringToObject(root,"school","MIT");
cJSON_AddStringToObject(root,"major","Computer Science");
cJSON_AddNumberToObject(root,"excellent",1);
return cJSON_PrintUnformatted(root);
}
int main()
{
char* buffer=malloc(BUFFER_SIZE);
memset(buffer,0,BUFFER_SIZE);
long len=0;
//使用for循環模擬大數據量
for(int i=0;i<5000;i++)
{
const char* str=bigData();
len+=strlen(str);     //計算每次的字符串長度并累加
if(len>=BUFFER_SIZE)
{
printf("緩沖區溢出\n");
break;
}
strcat(buffer,str);
free((void*)str);
}
printf("%s",buffer);
return 0;
}

實現大數據系列化的核心代碼部分主要是使用了cJSON庫,其可以很方便地實現json的創建,解析以及打印。上述代碼中,首先定義了一個緩沖區,用于暫存序列化之后的大數據,在循環構造數據時每次都將其字符串添加到這個緩沖區中,最后一次性輸出即可。