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

c json實例

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

C JSON是一種用于在C語言中處理JSON數據的庫,它提供了一個簡單易用的接口,可以方便地將JSON數據解析成C語言數據結構,也可以將C語言數據結構序列化成JSON數據。

下面是一個C JSON解析JSON數據的實例:

#include <stdio.h>
#include <stdlib.h>
#include <cjson/cJSON.h>
int main(void)
{
char *json_str = "{\"name\": \"Tom\", \"age\": 20}";
cJSON *root = cJSON_Parse(json_str); // 解析JSON數據
if (root == NULL)
{
printf("Error in parsing JSON data!\n");
return -1;
}
cJSON *name = cJSON_GetObjectItem(root, "name"); // 獲取name字段
cJSON *age = cJSON_GetObjectItem(root, "age"); // 獲取age字段
if (name == NULL || age == NULL)
{
printf("Error in parsing JSON data!\n");
cJSON_Delete(root);
return -1;
}
printf("Name: %s\n", name->valuestring);
printf("Age: %d\n", age->valueint);
cJSON_Delete(root); // 釋放資源
return 0;
}

以上代碼將JSON字符串"{\"name\": \"Tom\", \"age\": 20}"解析成了一個cJSON對象,并從中獲取了name和age字段的值,并打印出來。需要注意的是,解析JSON數據后需要手動釋放資源,否則會導致內存泄漏。

下面是一個C JSON將C語言數據結構序列化成JSON數據的實例:

#include <stdio.h>
#include <stdlib.h>
#include <cjson/cJSON.h>
int main(void)
{
cJSON *root = cJSON_CreateObject(); // 創建一個JSON對象
if (root == NULL)
{
printf("Error in creating JSON object!\n");
return -1;
}
cJSON_AddStringToObject(root, "name", "Tom"); // 添加name字段
cJSON_AddNumberToObject(root, "age", 20); // 添加age字段
char *json_str = cJSON_Print(root); // 序列化JSON數據
if (json_str == NULL)
{
printf("Error in serializing JSON data!\n");
cJSON_Delete(root);
return -1;
}
printf("%s\n", json_str);
cJSON_Delete(root); // 釋放資源
free(json_str); // 釋放序列化后的JSON字符串的內存
return 0;
}

以上代碼創建了一個JSON對象,并向其中添加了name和age字段的值,然后將其序列化成JSON字符串并打印出來。需要注意的是,序列化JSON數據后需要手動釋放序列化后的JSON字符串的內存,否則會導致內存泄漏。