拿来即用:用C+JS结构来处理JSON数据
【面对的问题】 在物联网产品的开发过程中,对JSON格式的数据处理是一个强需求,例如亚马逊的 AWS IOT平台,设备与后台之间的通讯数据都是JSON格式,先瞄一眼大概的样子: 这是一个真实产品的通讯数据,设备端的代码C代码中利用cJSON这个开源工具来完成JSON字符的解析和组装工作。代码我这里就不贴了,解析函数很长,要滚动好多次鼠标滑轮。而且一不注意释放资源就会发生内存泄漏! 那么,是否有更好的方式来解决这个问题呢? 答案就是这篇文章介绍的duktape引擎! 【Duktape简介】 这里只是简单介绍下duktape,详细的介绍大家自己去google。 Duktape 是一个嵌入式 Javascript引擎,专注于可移植性和空间占用。 易于集成到C/C++项目中,使用API实现C代码与JS代码的双向调用。 【代码说明】 1.文件说明 duktape.c:引擎主要C文件。 duktape.h:引擎头文件。 main.c : main函数所在文件。 main.js :Javascript文件,处理业务逻辑的代码就放在这里。 Makefile : 编译脚本。 miniz.c :有时候为了js代码的保密,不能把js源码放到最终产品中,需要压缩和混淆;加载的时候再进行解压。 2.核心步骤 当C代码中需要对JSON格式的字符串进行处理时,把JSON数据通过栈结构传给JS程序