×

单片机最小JSON解析,含编写了一个非常简单的JSON资料下载

消耗积分:0 | 格式:pdf | 大小:70.0KB | 2021-04-27

分享资料个

硬件设备由 MCU、MCU 上的 OS、各种传感器、WIFI/蓝牙/3G/4G 以及其他联网通信模块和应用程序构成。 其中硬件设备有两种接入方式, 第一种就是通过联网通信模块接入网关, 通过网关完成数据的发送与接收, 最终将数据转发到云平台或者手机端。 第二种就是硬件设备直接与手机实现本地连接, 进行数据的交换包括配网等操作。 因为云端平台数据传输采用JSON协议,因此,硬件堆JSON的解析非常重要。传统的C JSON解析非常庞大,在微处理器中,这无疑是一个巨大的问题。因此,编写了一个非常简单的JSON你判定,解析,与键值校验的三个纯C语言函数。占用空间非常小。具体的代码如下文所示: 硬件设备由 MCU、MCU 上的 OS、各种传感器、WIFI/蓝牙/3G/4G 以及其他联网通信模块和应用程序构成。 其中硬件设备有两种接入方式, 第一种就是通过联网通信模块接入网关, 通过网关完成数据的发送与接收, 最终将数据转发到云平台或者手机端。 第二种就是硬件设备直接与手机实现本地连接, 进行数据的交换包括配网等操作。 因为云端平台数据传输采用JSON协议,因此,硬件堆JSON的解析非常重要。传统的C JSON解析非常庞大,在微处理器中,这无疑是一个巨大的问题。因此,编写了一个非常简单的JSON你判定,解析,与键值校验的三个纯C语言函数。占用空间非常小。具体的代码如下文所示: /*************************************** name: JSON C函数库 C文件 ***************************************/ #include "include.h" /*************************************** name: 函数声明 input: output: description: ***************************************/ char json_check(char *str); //JSON 校验函数 char json_get_value(char *json,char *json_key , char *json_value); //JSON获取键值 char json_check_value(char *str1, char *str2); //JSON 键值对比函数 /*************************************** name: JSON 校验函数 input: 字符串 output: 合法JAON 返回1 不合法JSON 返回0 description: ***************************************/ char json_check(char *str) { char str_length; //定义字符长度变量 str_length = strlen(str); //计算字符长度 if(str[0] == '{' && str[str_length-1] == '}') //通过首尾大括号判断是否为JSON { return 1; //如果字符串为合法JSON 返回1 } else { return 0; //如果字符串为合法JSON 返回0 } } /*************************************** name: JSON 获取键值函数 input: JSON字符串 要获取的键名 获取键值的字符串 output: 如果获取成功返回1 获取失败返回0 description: ***************************************/ char json_get_value(char *json,char *json_key , char *json_value) { char *json_key_start; //定义键名开始的位置 char *json_key_end; //定义键名结束的位置 char json_key_length; //定义键名长度 char *json_value_start; //定义键值开始的位置 char *json_value_end; //定义键值结束的位置 char json_value_length; //定义键值长度 json_key_start = strstr(json,json_key); //获取键名开始的位置

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !