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庫中的