JSON是一種輕量級的數據交換格式,由于其具有易讀、易于解析和與各種編程語言的兼容性等特點,越來越多的開發者將其作為數據傳輸及存儲的首選格式。在C語言中,我們可以使用C API JSON來處理JSON數據。
#include <stdio.h> #include <cjson/cJSON.h> void read_json_file(const char* filename) { FILE* fp = fopen(filename, "rb"); fseek(fp, 0, SEEK_END); long len = ftell(fp); fseek(fp, 0, SEEK_SET); char* content = (char*)malloc(len + 1); fread(content, 1, len, fp); fclose(fp); content[len] = '\0'; cJSON* root = cJSON_Parse(content); cJSON* name = cJSON_GetObjectItem(root, "name"); cJSON* age = cJSON_GetObjectItem(root, "age"); printf("Name: %s, Age: %d\n", name->valuestring, age->valueint); cJSON_Delete(root); free(content); } void create_json_file(const char* filename) { cJSON* root = cJSON_CreateObject(); cJSON* name = cJSON_CreateString("John Smith"); cJSON* age = cJSON_CreateNumber(30); cJSON_AddItemToObject(root, "name", name); cJSON_AddItemToObject(root, "age", age); char* json_str = cJSON_Print(root); FILE* fp = fopen(filename, "w"); fwrite(json_str, strlen(json_str), 1, fp); fclose(fp); free(json_str); cJSON_Delete(root); } int main() { create_json_file("example.json"); read_json_file("example.json"); return 0; }
在上面的代碼中,我們通過
cJSON_Parse(const char* value)函數解析JSON數據,并使用
cJSON_GetObjectItem(cJSON* object, const char*string)函數獲取JSON對象中的屬性值。同時,我們使用
cJSON_CreateObject()、
cJSON_CreateString(const char* string)、
cJSON_CreateNumber(double num)等函數創建JSON數據。最后,通過
cJSON_Print(cJSON *item)函數將生成的JSON數據打印出來,并將其存儲在文件中。
C API JSON是一款高效易用的JSON處理庫,其提供的方法能夠滿足大部分JSON數據的解析和生成需求。無論是在移動端還是服務器端應用開發中,C API JSON都是一個不錯的選擇。
上一篇python 恩格碼
下一篇html對聯滑動代碼