近日,为了帮忙程序员节俭代码开发量,翼辉信息董事长、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 数据操作体验。
酷爱写代码、程序员出身的韩辉在 2006 年开始研发 SylixOS 零碎,与团队一起写下百万行内核源代码,成为了当初翼辉信息的种子,SylixOS 相干内核代码开源并在工信部进行了源码自主率扫描,内核自主化率达到 100%。2021 年,韩辉率领翼辉爱智团队推出新一代智能边缘计算操作系统——爱智操作系统 EdgerOS,基于 SylixOS 零碎为内核进行开发,可为开发者提供低代码开发平台,疾速抓住物联网时代守业契机。此次翼辉通过公布和开源代码生成器,可为程序员极大节约代码开发量,让开发工作更加便捷。翼辉爱智团队也一贯保持以程序员和开发者的利益至上,将来将有更多优良的小工具分批凋谢提供应用。
JStruct 地址:https://github.com/hanhui03/j…