【技术实现步骤摘要】
一种文件格式转换方法、装置和计算机可读存储介质
本专利技术涉及文件格式转换领域,具体涉及一种文件格式转换方法、装置和计算机可读存储介质。
技术介绍
CAN总线协议是ISO国际标准化的一种串行通信协议,其具有极好的抗干扰、差错检测和处理能力,能够满足信息传输实时性的要求,同时具有控制接口结构简单、易于配置的优点,因而在汽车、电子等领域具有日益广泛的应用。随着技术的进步以及人们对驾驶要求的不断提高,汽车网络中的CAN节点不断增加,网络中的数据也越来越庞大,为便于整车的设计和维护,通常采用DBC文件对汽车CAN数据进行解析和管理的技术方案。DBC文件是一种标准的数据库文件,绝大多数汽车生产厂家都有相应的DBC文件数据库。DBC文件解析的过程就是将汽车CAN网络传输的十六进制数据转换成通常熟知的物理量,比如车速、转速、温度等。JSON,即JavaScriptObjectNotation,是一种轻量级的数据交换格式,其特点是易于读写,同时也易于机器解析和生成,广泛应用于web端数据网络传输。JSON作为一种比较灵活且直观的数据存储结构,具有良好的兼容性和可扩展性,很适合作为客户端与设备端之间的交互载体,几乎所有的编程语言都有支持JSON协议的库,如Java/EE,Ruby,PHP,C#/.Net等,都可以使用JSON进行数据交互和处理。JSON以字符串的形式进行数据存储,通过对存储的数据加入描述,在设备开发和调试阶段有很好的直观性。具体地,JSON数据通常以数据表的形式存在,JSON数据表主要有key和value两个属 ...
【技术保护点】
1.一种文件格式转换方法,其特征在于,所述文件格式转换方法包括:/n读取第一格式文件;/n解析所述第一格式文件,并将解析结果储存在应用程序开发库中;/n按照第二格式文件协议将所述应用程序开发库中的变量一一转换为第二格式的变量;/n输出所述第二格式的变量并生成第二格式文件。/n
【技术特征摘要】
1.一种文件格式转换方法,其特征在于,所述文件格式转换方法包括:
读取第一格式文件;
解析所述第一格式文件,并将解析结果储存在应用程序开发库中;
按照第二格式文件协议将所述应用程序开发库中的变量一一转换为第二格式的变量;
输出所述第二格式的变量并生成第二格式文件。
2.根据权利要求1所述的文件格式转换方法,其特征在于,所述读取第一格式文件包括:
根据文件路径选择第一格式文件,其中,所述第一格式文件为DBC文件;
选择文件类型,DBC文件类型选择J1939类型;
判断文件是否读取成功,若是,则解析文件,若DBC文件内容为空或文件格式错误导致文件无法识别,则重新读取文件。
3.根据权利要求2所述的文件格式转换方法,其特征在于,所述解析所述第一格式文件,并将解析结果储存在应用程序开发库中,包括:
解析DBC文件中的所有信号,将包括信号的名称、注释、起始位、位长度、转换因子、偏移值、最小值、最大值、单位和实际值在内的信号信息解析到对应创建的第一结构体中;
解析DBC文件中的所有报文,将包括报文的名称、注释、帧ID、帧类型,以及报文所占字节数、所含信号集合和信号数量在内的报文信息解析到对应创建的第二结构体中;
在Qt库中创建封装数组,所述封装数组的类型被定义为第二结构体类型,并将所述第二结构体中的报文信息动态分配到所述封装数组的地址中;
在Qt库中创建封装容器,并将所述第一结构体中的信号信息动态分配到所述封装容器中,其中,所述封装容器以键值对的形式储存所述信号信息。
4.根据权利要求3所述的文件格式转换方法,其特征在于,所述按照第二格式文件协议将所述应用程序开发库中的变量一一转换为第二格式的变量,包括:
在Qt库中创建对象封装类;
遍历所述封装数组中的所有变量,将创建第二格式文件所需求的目标变量放入所述对象封装类中,其中,所述第二格式文件为JSON文件;
遍历所述封装容器中的所有键值对,将与所述目标变量对应的帧ID放入所述对象封装类中;
在所述对象封装类中添加创建JSON文件所需要的额外变量,所述额外变量包括循环次数和数据类型;
将所述对象封装类中的对象处理成JSON对象。
5.根据权利要求4所述的文件格式转换方法,其特征在于,所述输出所述第二格式的变量并生成第二格式文件,包括:
将所述JSON对象中的变量按JSON格式输出,以生成JSON文件。
6.一种文件格式转换装置,应用于上述权利要求1至5任一项所述的文件格式转换方法中,其特征在于,所述文件格式转换装置包括:
读取模块(1),用于读取第一格式文件;
解析模块(2),用于解析所述第一格...
【专利技术属性】
技术研发人员:梁帆,龙杰强,王婷姣,陈文,谢夕章,
申请(专利权)人:湖南中联重科智能技术有限公司,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。