中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

C語言怎么用cjson解析json文件

小億
145
2023-12-23 23:48:19
欄目: 編程語言

使用cjson庫解析JSON文件的步驟如下:

  1. 從cjson官方網站(https://github.com/DaveGamble/cJSON)下載cjson庫,并將其添加到你的C語言項目中。

  2. 包含cjson頭文件:

    #include "cJSON.h"
    
  3. 讀取JSON文件內容:

    // 打開JSON文件
    FILE *file = fopen("example.json", "r");
    if (file == NULL) {
        // 處理文件打開失敗的情況
        return;
    }
    
    // 獲取JSON文件大小
    fseek(file, 0, SEEK_END);
    long fileSize = ftell(file);
    fseek(file, 0, SEEK_SET);
    
    // 分配內存并讀取JSON內容
    char *jsonString = (char *)malloc(fileSize + 1);
    fread(jsonString, 1, fileSize, file);
    jsonString[fileSize] = '\0';
    
    // 關閉文件
    fclose(file);
    
  4. 解析JSON內容:

    // 解析JSON字符串
    cJSON *json = cJSON_Parse(jsonString);
    if (json == NULL) {
        // 處理解析失敗的情況
        free(jsonString);
        return;
    }
    
    // 從JSON對象中獲取需要的數據
    cJSON *name = cJSON_GetObjectItemCaseSensitive(json, "name");
    if (cJSON_IsString(name) && (name->valuestring != NULL)) {
        printf("Name: %s\n", name->valuestring);
    }
    
    cJSON *age = cJSON_GetObjectItemCaseSensitive(json, "age");
    if (cJSON_IsNumber(age) && (age->valuedouble != 0)) {
        printf("Age: %.1f\n", age->valuedouble);
    }
    
    // 釋放資源
    cJSON_Delete(json);
    free(jsonString);
    
  5. 最后,記得釋放資源。

    cJSON_Delete(json);
    free(jsonString);
    

以上是使用cjson庫解析JSON文件的基本步驟。你可以根據實際需要進一步處理JSON對象中的數據。

0
定远县| 金昌市| 南乐县| 宿松县| 定安县| 宜阳县| 绍兴县| 泰兴市| 潞西市| 嘉善县| 江陵县| 青田县| 都安| 平远县| 塔河县| 旬邑县| 平和县| 和龙市| 成安县| 鄄城县| 平远县| 兰考县| 西林县| 随州市| 专栏| 德安县| 兴化市| 沧州市| 曲松县| 长宁县| 淮滨县| 万宁市| 延吉市| 洛阳市| 田东县| 宁德市| 新巴尔虎右旗| 五寨县| 普宁市| 鄄城县| 营山县|