cJSON库是一个超轻量级的JSON解析库,完全由C语言编写,具有无依赖、移植性好、速度快的特点。在macOS JSON解析场景中,cJSON是非常受欢迎的选择。本JSON解析教程将手把手教你在macOS上配置和使用cJSON。
macOS上推荐使用Homebrew安装cJSON:
brew install cjson 如果需要手动编译,可以从GitHub克隆仓库,使用CMake构建。
创建一个json_demo.c文件:
#include #include int main() { const char *json_string = "{\"name\':\"cJSON\",\"version\':\"1.7.15\'}"; cJSON *json = cJSON_Parse(json_string); if (json == NULL) { printf("解析失败\n"); return 1; } cJSON *name = cJSON_GetObjectItem(json, "name"); cJSON *version = cJSON_GetObjectItem(json, "version"); printf("name: %s, version: %s\n", name->valuestring, version->valuestring); cJSON_Delete(json); return 0;} 编译命令:
clang -o json_demo json_demo.c -lcjson 运行:./json_demo 输出 name: cJSON, version: 1.7.15
从文件读取JSON字符串并解析:
#include #include #include char *read_file(const char *filename) { FILE *f = fopen(filename, "rb"); fseek(f, 0, SEEK_END); long len = ftell(f); fseek(f, 0, SEEK_SET); char *data = malloc(len + 1); fread(data, 1, len, f); data[len] = "\0"; fclose(f); return data;}int main() { char *json_str = read_file("data.json"); cJSON *json = cJSON_Parse(json_str); free(json_str); // ... 处理json ... cJSON_Delete(json); return 0;} ❌ 找不到cJSON头文件:确保安装了cJSON,编译时添加-I/usr/local/include和-L/usr/local/lib❌ 内存泄漏:每次cJSON_Parse后必须cJSON_Delete❌ 解析错误:使用cJSON_GetErrorPtr()获取错误位置
通过本教程,你已经学会了在macOS上安装cJSON、编写解析代码、处理文件和避坑指南。cJSON虽小,功能俱全,足以应对大部分嵌入式或macOS平台的JSON解析需求。
—— 完 ——
本文由主机测评网于2026-02-13发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/20260225040.html