stm32实现json格式传输/ cjson使用
创始人
2024-04-01 06:55:55
0

cjson是一个开源的C文件,可以实现用C语言生成json格式数据,

目录

    • 步骤1:准备工作
    • 步骤2:cjson函数简单讲解
    • 步骤3:一个例子, 生成json格式数据

步骤1:准备工作

在keil里添加cjson.c和cjson.h,cjson文件下载,使用微云,不要积分

main.c里引用cjson.h

#include 

步骤2:cjson函数简单讲解

首先需要创建一个cjson的指针,用于存储数据,

cJSON *cjson_head=NULL;

然后使用添加函数,添加数字和字符要使用不同的函数,

#添加字符
cJSON_AddStringToObject(cjson_head, "name", "mculover666");
#添加数字
cJSON_AddNumberToObject(cjson_head,"age",22);

完成后,想使用json时,因为是一个指针,无法直接使用,需要用一个字符串接收格式化后的json格式

char *str=NULL;
str = cJSON_Print(cjson_head);
printf("%s\n", str);

此时,直接使用str即可,通过串口输出或者通过4G发送,MQTT发送等等。
更复杂的,json格式可以嵌套,这会在步骤3里展示。

步骤3:一个例子, 生成json格式数据

#include 
#include #创建cjson的指针,用于存储数据,可以创建多个
cJSON *cjson_head=NULL;
cJSON *cjson_address=NULL;
cJSON *cjson_skill=NULL;
char *str=NULL;int main()
{cjson_head=cJSON_CreateObject();// add string to cjsoncJSON_AddStringToObject(cjson_head, "name", "mculover666");//add number to cjsoncJSON_AddNumberToObject(cjson_head,"age",22);//add float to cjsoncJSON_AddNumberToObject(cjson_head, "weight", 55.5);/* 添加一个嵌套的JSON数据(添加一个链表节点) */cjson_address = cJSON_CreateObject();cJSON_AddStringToObject(cjson_address, "country", "China");cJSON_AddNumberToObject(cjson_address, "zip-code", 111111);cJSON_AddItemToObject(cjson_head, "address", cjson_address);/* 添加一个数组类型的JSON数据(添加一个链表节点) */cjson_skill = cJSON_CreateArray();cJSON_AddItemToArray(cjson_skill, cJSON_CreateString( "C" ));cJSON_AddItemToArray(cjson_skill, cJSON_CreateString( "Java" ));cJSON_AddItemToArray(cjson_skill, cJSON_CreateString( "Python" ));cJSON_AddItemToObject(cjson_head, "skill", cjson_skill);/* 添加一个值为 False 的布尔类型的JSON数据(添加一个链表节点) */cJSON_AddFalseToObject(cjson_head, "student");/* 打印JSON对象(整条链表)的所有数据 */str = cJSON_Print(cjson_head);printf("%s\n", str);return 0;}

运行结果为

{"name": "mculover666","age":  22,"weight":       55.5,"address":      {"country":      "China","zip-code":     111111},"skill":        ["C", "Java", "Python"],"student":      false
}

相关内容

热门资讯

韩媒:韩检方对尹锡悦、金建希等... 中新网12月29日电 据韩国媒体报道,负责调查韩国前第一夫人金建希案件的特检组29日发布最终调查结果...
着力健全有利于“长钱长投“的制... 12月29日,A 股三大指数开盘后涨跌互现,沪指强势向上,冲击9连阳。截至10:23,A500ETF...
政策性农业保险的角色演变与制度... 本文字数:4989字 阅读时间:10分钟 作者简介:马彪,首都经济贸易大学金融学院副教授。 文章来...
推动楼市政策精准落地丨社评 明年着力稳定房地产市场的大政方针已定,抓好落实是关键。刚刚召开的全国住房城乡建设工作会议,重点列出了...
Adobe 因使用 SlimP... AIPress.com.cn报道 12月29日消息,作为全球创意软件巨头,Adobe 正面临其首起重...
伟星新材:竞争优势明显 保持积... 12月28日,伟星新材(002372)发布公告,伟星新材(002372)于2025年12月25日召开...
健全数据制度 释放乘数效应——... 来源:经济日报 党的二十届四中全会审议通过的《中共中央关于制定国民经济和社会发展第十五个五年规划的建...
海关出口退税律师张严锋:套用其... 2018年3月2日,B稽查局对A公司涉税事项进行检查。经检查,B稽查局认为A公司涉嫌通过套用他人出口...
哈尔滨权威刑事律师服务推荐:谷... 在哈尔滨,当人们遭遇刑事法律问题时,往往会困惑于刑事律师服务哪家权威刑事律师推荐哪些刑事辩护律师哪个...
原创 《... 2025年12月26日,《晋中市平遥牛肉保护和发展条例》新闻发布会在晋中举行。该条例经山西省人大常委...