cJSON(Linux C)
cJSON
Ultralightweight JSON parser in ANSI C
项目地址:https://gitcode.com/gh_mirrors/cj/cJSON
·
cJSON官网:http://sourceforge.net/projects/cjson/
下面是使用cJSON的例子:
/*===============================================================
* Copyright (C) 2015 All rights reserved.
*
* 文件名称:test_cjson.c
* 创 建 者:Gavin (E-mail:gavinlu1015@gmail.com)
* 创建日期:2015年06月1日
* 描 述:C语言JSON简单用例
*
================================================================*/
#include <stdio.h>
#include <stdlib.h>
#include "cJSON.h"
void create_cjson(char **out)
{
cJSON *root, *fmt;
/* 创建一个json */
root = cJSON_CreateObject();
/* 定义json root */
cJSON_AddItemToObject(root, "USR_INFO", fmt = cJSON_CreateObject());
/* 成员 int型 */
cJSON_AddNumberToObject(fmt, "usrid", 7);
/* 成员 string型 */
cJSON_AddStringToObject(fmt, "E-mail", "gavinlu1990@gamail.com");
/* 将JSON转换成string型 */
*out = cJSON_Print(root);
/* 删除JSON占用内存 */
cJSON_Delete(root);
}
void parse_cjson(char *out)
{
cJSON *out_json, *root, *format;
char *parse_result;
char *E_mail;
int id;
/* 将string型JSON进行转换 */
out_json = cJSON_Parse(out);
if (!out_json) {
printf("Error before: [%s]\n",cJSON_GetErrorPtr());
return;
} else {
format = cJSON_GetObjectItem(out_json, "USR_INFO");
/* 获取usrid、E-mail信息 */
id = cJSON_GetObjectItem(format, "usrid")->valueint;
E_mail = cJSON_GetObjectItem(format, "E-mail")->valuestring;
}
printf("\n解析结果:\n");
printf("%d\n", id);
printf("%s\n", E_mail);
cJSON_Delete(out_json);
}
int main(int argc, const char *argv[])
{
char *out = NULL;
/* 构建json */
create_cjson(&out);
printf("构成JSON:\n%s\n",out);
/* 解析json */
parse_cjson(out);
free(out);
return 0;
}
/**
* 编译:
* gcc test_json.c cJSON.c -o test_json -lm
* (PS:cJSON.c cJSON.h从下载包提取出来)
*/
结果:
构成JSON:
{
"USR_INFO":{
"usrid":7
"E-mail":gavinlu1015@gmail.com
}
}
解析结果:
7
gavinlu1015@gmail.com
Ultralightweight JSON parser in ANSI C
最近提交(Master分支:2 个月前 )
c859b25d
2 个月前
74e1ff49
this fixes CVE-2025-57052 2 个月前
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)