我使用的是cJSON:
http://sourceforge.net/projects/cjson/
先看json的数据结构
c中没有对象,所以json数据是采用链表存储的
typedef struct cJSON {
struct cJSON *next,*prev; // 数组 对象数据中用到
struct cJSON *child; // 数组 和对象中指向子数组对象或值
int type; // 元素的类型,如是对象还是数组
char *valuestring; // 如果是字符串
int valueint; // 如果是数值
double valuedouble; // 如果类型是cJSON_Number
char *string; // The item's name string, if this item is the child of, or is in the list of subitems of an object.
} cJSON;
比如你有一个json数据
{
"name": "Jack (\"Bee\") Nimble",
"format": {
"type": "rect",
"width": 1920,
"height": 1080,
"interlace": false,
"frame rate": 24
}
}
那么你可以
1:讲字符串解析成json结构体。
cJSON *root = cJSON_Parse(my_json_string);
2:获取某个元素
cJSON *format = cJSON_GetObjectItem(root,"format");
int framerate = cJSON_GetObjectItem(format,"frame rate")->valueint;
3:讲json结构体转换成字符串
char *rendered=cJSON_Print(root);
4:删除
cJSON_Delete(root);
5:构建一个json结构体
cJSON *root,*fmt;
root=cJSON_CreateObject();
cJSON_AddItemToObject(root, "name", cJSON_CreateString("Jack (\"Bee\") Nimble"));
cJSON_AddItemToObject(root, "format", fmt=cJSON_CreateObject());
cJSON_AddStringToObject(fmt,"type", "rect");
cJSON_AddNumberToObject(fmt,"width", 1920);
cJSON_AddNumberToObject(fmt,"height", 1080);
cJSON_AddFalseToObject (fmt,"interlace");
cJSON_AddNumberToObject(fmt,"frame rate", 24);
分享到:
相关推荐
只需包含头文件和源文件即可 解析json数据
cJSON库,C语言解析json数据的库
c语言json数据格式解析 c语言json数据格式解析 c语言json数据格式解析
C语言的json解析,主要用于处理粘包; 将连续的多包json数据拆解成json链表~
C语言实现的MD5算法源码 动态链表的设计与应用 ...基于C语言的json数据映射解析库 模糊PID控制器的C语言实现 排序算法 学生信息教务管理系统 一元多项式 银行用户管理系统 都是一些学习代码,仅供参考。
基于C语言的cjson解析数据
C语言解析JSON格式数据
C语言解析JSON数据的库文件5,非常好用。全部验在linux下证过
网上有CJson来解析数据,但对于单片机来说还是比较繁杂。就自己写了个JSON解析程序,非常精简,只有一百多行。 当然肯定也有不少BUG,欢迎大家指证、优化。
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 ... 【项目质量】: 所有源码都经过严格测试,...
压缩包中 jsmn.h是库,example文件夹中的simple.c是测试代码(调用 jsmn.h),编译simple.c并执行即可
C实现对JSON的封装,对json格式解析,封装等.
C语言解析JSON数据的库文件1-3,非常好用。全部验在linux下证过
cJSON源码,用于C语言json数据的构建与解析
C语言cJSON库的使用教程,解析json数据格式,适合刚毕业大学生学习。
C语言解析JSON数据的库文件6,非常好用。全部验在linux下证过
cJSON.c cJSON.h cJSON_Utils.c cJSON_Utils.h 生成JSON数据.c 解析JSON数据.c
基于C语言实现的JSON解析器源码(含节点创建、解析、封装、输出等功能).zip课程作业-基于C语言实现的JSON解析器源码(含节点创建、解析、封装、输出等功能).zip课程作业-基于C语言实现的JSON解析器源码(含节点创建、...
用C语言解析和组装JSON数据(string或从文件读取): ,并且能取某个item值 。 我在vs2010上运行成功,附件为整个工程 。 (注:如果工程有编译上的error之类的,像fopen、fprintf: 可以修改: 选项Project | ...
Description An ultra-lightweight, portable, single-file, simple-as-can-be ANSI-C compliant JSON parser, under MIT license.