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

avatar
作者
猴君
阅读量:0

使用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对象中的数据。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!