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

c 讀取json文件中數(shù)組

張吉惟1年前9瀏覽0評論

在 C 語言中,要讀取一個 JSON 文件中的數(shù)組,需要使用第三方庫??梢允褂?cJSON 庫,它是一個輕量級的 C 語言庫,用于解析和生成 JSON 數(shù)據(jù)格式。

使用 cJSON 庫需要先將其添加到項目中??梢詫㈩^文件和源文件直接拷貝到項目中,并在文件中包含頭文件。

#include "cJSON.h"

接下來,需要使用 cJSON_Parse 函數(shù)將 JSON 字符串解析為 cJSON 對象。這個函數(shù)有一個參數(shù),即要解析的文本。

char* json_str = "{\"name\": \"Tom\", \"scores\": [98, 85, 76]}";
cJSON* json = cJSON_Parse(json_str);

解析后,可以使用 cJSON_GetObjectItem 函數(shù)獲取數(shù)組。這個函數(shù)有兩個參數(shù),一個是 cJSON 對象,另一個是要獲取的數(shù)組的名稱。

cJSON* scores_array = cJSON_GetObjectItem(json, "scores");

獲取到數(shù)組后,可以使用 cJSON_GetArraySize 函數(shù)獲取數(shù)組長度。這個函數(shù)有一個參數(shù),即 cJSON 對象。

int scores_count = cJSON_GetArraySize(scores_array);

獲取數(shù)組長度后,可以使用循環(huán)遍歷數(shù)組,使用 cJSON_GetArrayItem 函數(shù)獲取數(shù)組中的元素。

for (int i = 0; i< scores_count; i++) {
cJSON* score_item = cJSON_GetArrayItem(scores_array, i);
int score = score_item->valueint;
printf("%d ", score);
}

上面的代碼將會輸出數(shù)組中的每個元素。