近日,为了帮助程序员节省代码开发量,翼辉信息董事长、SylixOS嵌入式操作系统、EdgerOS新一代智能边缘计算操作系统创始人韩辉发布并开源了极其有用的代码生成器-JStruct。该工具使用JavaScript编写,可以运行在JSRE或者Node.js环境中,其生成的代码相当于在C/C++环境中直接使用JSON.parse与JSON.stringify。JStruct降低了C语言嵌入式编程的门槛,而它的开源是翼辉在简化设备端开发道路上迈出的第一步。
JSON作为现在最主流的数据交换语言之一,其简洁、清晰的层次结构相较于其他数据描述语言更加易读、易编写。随着互联网技术的迅猛发展,JSON在各行业应用中脱颖而出。由于语言优势,JavaScript可以非常轻松地将JSON数据转换为应用对象,反之也可以很容易的将应用对象转换为JSON数据。但这种顺畅的体验也只能在JavaScript中体会到,尤其像C语言这样的强类型语言,想要使用JSON来完成数据传输,相较于JavaScript而言则要复杂的多。
在C语言编程中通常会引入cJSON来完成对JSON数据的生成、操作、解析等操作。虽然cJSON的API简单易用,但相对于JavaScript简洁的声明式语法,其可读性还存在明显差距。试想在具体的业务场景中可能会设计很多的JSON结构,而构建这些JSON数据结构的C语言代码大同小异。一旦数据结构多到了一个量级,那么这样的编程就成了重复的体力劳动且极容易出错。那么有没有更好的方案来让我们能使用声明式的方式,直接生成C语言代码,把自己从这样枯燥无趣的体力劳动中解放出来?答案就是“JStruct”。
JStruct是一个可以运行在Node.js和JSRE平台上的C语言JSON结构代码生成工具,只需要通过一个简单的配置文件,便可以生成一套完整的定制化JSON数据结构处理的C代码。
通过引入JStruct所生成的test_jstruct.h,C代码中可以直接使用结构体编程,像JavaScript一样进行对象成员的赋值与转换。因为JSON字段与结构体成员一一对应,代码结构将更加清晰、友好。这样的开发模式与数据调用方式也更容易让上层应用开发人员理解和使用,降低了开发所需的代码量。如果开发过程中JSON结构需要改动,也仅仅只需要修改配置文件重新生成替换即可。
由于使用了JSON声明的配置形式,使得无论是应用端还是设备端开发者都可以根据conf.json的内容清晰了解到数据结构和类型,这样极大地降低了设备端与应用端的交流成本。
万物互联的目的实质就是打通数据连接,如何更加方便快速地完成数据的构建,解析,处理则是达成万物互联目标的基础。如果已经厌倦了cJSON的数据生成与解析的方式,不妨试试JStruct,相信一定会给你带来不同的JSON数据操作体验。
热爱写代码、程序员出身的韩辉在年开始研发SylixOS系统,与团队一起写下百万行内核源代码,成为了现在翼辉信息的种子,SylixOS相关内核代码开源并在工信部进行了源码自主率扫描,内核自主化率达到%。年,韩辉带领翼辉爱智团队推出新一代智能边缘计算操作系统——爱智操作系统EdgerOS,基于SylixOS系统为内核进行开发,可为开发者提供低代码开发平台,快速抓住物联网时代创业契机。此次翼辉通过发布和开源代码生成器,可为程序员极大节约代码开发量,让开发工作更加便捷。翼辉爱智团队也一贯坚持以程序员和开发者的利益至上,未来将有更多优秀的小工具分批开放提供使用。