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

c json數據 讀取

李中冰2年前9瀏覽0評論

在C語言中,讀取JSON數據是一項非常常見的任務。JSON(JavaScript Object Notation)是一種輕量級的數據交換格式,以易于閱讀和編寫的方式進行序列化和反序列化。下面我們來介紹如何在C語言中讀取JSON數據。

/*首先,我們需要引入以下頭文件*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <jansson.h>
int main(void) {
/*1. 讀取JSON文件*/
/*打開JSON文件*/
FILE *fp = fopen("test.json", "r");
if (!fp) {
printf("無法打開文件");
return 1;
}
/*讀取JSON數據*/
char buffer[1024];
fread(buffer, 1, 1024, fp);
fclose(fp);
/*2. 解析JSON數據*/
json_error_t error;
json_t *root = json_loads(buffer, 0, &error);
if (!root) {
printf("解析JSON數據失敗");
return 1;
}
/*3. 獲取JSON數據*/
/*獲取根節點數據*/
json_t *name = json_object_get(root, "name");
printf("名稱:%s\n", json_string_value(name));
json_t *age = json_object_get(root, "age");
printf("年齡:%d\n", json_integer_value(age));
json_t *hobby = json_object_get(root, "hobby");
printf("愛好:\n");
int i;
for (i = 0; i < json_array_size(hobby); i++) {
printf("    %s\n", json_string_value(json_array_get(hobby, i)));
}
/*4. 釋放JSON數據*/
json_decref(root);
return 0;
}

上面的代碼中,我們使用了jansson庫,它是一個開源的C語言JSON庫,可以輕松地解析和構建JSON數據。首先,我們打開JSON文件并讀取其中的數據;然后,我們使用json_loads()函數將JSON數據解析成一個json_t對象;接著,我們通過json_object_get()和json_array_get()函數獲取JSON數據中的內容;最后,我們使用json_decref()函數釋放json_t對象。