怎么用C+JS结构来处理JSON数据

怎么用C+JS结构来处理JSON数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

为肇东等地区用户提供了全套网页设计制作服务,及肇东网站建设行业解决方案。主营业务为成都网站建设、做网站、肇东网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

【面对的问题】

        在物联网产品的开发过程中,对JSON格式的数据处理是一个强需求,例如亚马逊的 AWS IOT平台,设备与后台之间的通讯数据都是JSON格式,先瞄一眼大概的样子:

怎么用C+JS结构来处理JSON数据  

    

    这是一个真实产品的通讯数据,设备端的代码C代码中利用cJSON这个开源工具来完成JSON字符的解析和组装工作。代码我这里就不贴了,解析函数很长,要滚动好多次鼠标滑轮。而且一不注意释放资源就会发生内存泄漏!

    

    那么,是否有更好的方式来解决这个问题呢?

    答案就是duktape引擎!

【Duktape简介】

    这里只是简单介绍下duktape,详细的介绍大家自己去google。

    Duktape 是一个嵌入式 Javascript引擎,专注于可移植性和空间占用。

    易于集成到C/C++项目中,使用API实现C代码与JS代码的双向调用。

【代码说明】

1.文件说明

怎么用C+JS结构来处理JSON数据

    duktape.c:引擎主要C文件。

    duktape.h:引擎头文件。

    main.c      :  main函数所在文件。

   main.js      :Javascript文件,处理业务逻辑的代码就放在这里。

    Makefile   :  编译脚本。

    miniz.c     :有时候为了js代码的保密,不能把js源码放到最终产品中,需要压缩和混淆;加载的时候再进行解压。

2.核心步骤

怎么用C+JS结构来处理JSON数据

    当C代码中需要对JSON格式的字符串进行处理时,把JSON数据通过栈结构传给JS程序,在JS程序中处理数据之后,把处理结果再返回给C程序中。

    

    在JS程序中,如果有些操作无法处理(例如:发送数据给串口),那么就调用C程序中的函数来处理。

3.代码说明

怎么用C+JS结构来处理JSON数据  
怎么用C+JS结构来处理JSON数据  
怎么用C+JS结构来处理JSON数据  
怎么用C+JS结构来处理JSON数据  
怎么用C+JS结构来处理JSON数据

【测试环境】

1. x86系统

    我是在  Ubuntu16.04 下测试的,使用系统自带 gcc 编译器。

2.嵌入式系统

    只需要把编译器换成对应的交叉编译器即可。

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注创新互联行业资讯频道,感谢您对创新互联的支持。


标题名称:怎么用C+JS结构来处理JSON数据
当前地址:http://scyanting.com/article/gespij.html