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

c 發送 json

錢多多2年前10瀏覽0評論

發送JSON是C語言網絡編程中的一個重要操作之一,使用JSON可以方便地進行數據傳輸和解析。在C語言中,我們可以使用cJSON庫來生成和解析JSON數據。

連接到服務器

int sockfd = socket(AF_INET, SOCK_STREAM, 0);
...
struct sockaddr_in servaddr;
bzero(&servaddr, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(PORT);
inet_pton(AF_INET, SERVERIP, &servaddr.sin_addr);
...
connect(sockfd, (struct sockaddr *)&servaddr, sizeof(servaddr));

生成JSON數據

cJSON *root = cJSON_CreateObject();
cJSON_AddStringToObject(root, "name", "Tom");
cJSON_AddNumberToObject(root, "age", 18);
cJSON_AddBoolToObject(root, "isStudent", true);
char *jsonStr = cJSON_Print(root);
cJSON_Delete(root);
...
send(sockfd, jsonStr, strlen(jsonStr), 0);

接收JSON數據

char recvBuf[MAXLINE];
int n = recv(sockfd, recvBuf, MAXLINE, 0);
recvBuf[n] = '\0';
cJSON *root = cJSON_Parse(recvBuf);
cJSON *name = cJSON_GetObjectItem(root, "name");
cJSON *age = cJSON_GetObjectItem(root, "age");
cJSON *isStudent = cJSON_GetObjectItem(root, "isStudent");
printf("name: %s, age: %d, isStudent: %d\n",
name->valuestring, age->valueint, isStudent->valueint);
cJSON_Delete(root);

發送和接收JSON數據是網絡編程中的一項基本操作,掌握了這個技能可以讓我們更方便地進行數據交互。

上一篇c 取json