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

c 提取json

林國瑞2年前7瀏覽0評論

c語言在處理json數據時非常方便,通過使用第三方庫可以輕松地提取json中的數據。

// 一個讀取json文件的示例
#include#include#include "cJSON.h"
int main() {
// 打開json文件
FILE *fp = fopen("test.json", "r");
if (fp == NULL) {
printf("open json file fail\n");
return 1;
}
// 獲取文件大小
fseek(fp, 0, SEEK_END);
long size = ftell(fp);
fseek(fp, 0, SEEK_SET);
// 讀取文件內容
char *buffer = (char*)malloc(size);
fread(buffer, 1, size, fp);
fclose(fp);
// 解析json
cJSON *root = cJSON_Parse(buffer);
if (root == NULL) {
printf("parse json fail\n");
free(buffer);
return 1;
}
// 提取數據
cJSON *name = cJSON_GetObjectItem(root, "name");
if (name == NULL) {
printf("get name fail\n");
cJSON_Delete(root);
free(buffer);
return 1;
}
printf("name: %s\n", name->valuestring);
cJSON *age = cJSON_GetObjectItem(root, "age");
if (age == NULL) {
printf("get age fail\n");
cJSON_Delete(root);
free(buffer);
return 1;
}
printf("age: %d\n", age->valueint);
// 釋放內存
cJSON_Delete(root);
free(buffer);
return 0;
}

使用cJSON庫中的cJSON_Parse函數可以將json文件解析為對象類型,使用cJSON_GetObjectItem函數可以提取對象中的數據。