文件生成方法、装置及终端制造方法及图纸

技术编号:30206206 阅读:24 留言:0更新日期:2021-09-29 09:07
本申请是关于一种文件生成方法、装置及终端。该文件生成方法,包括:向网络侧发送请求;获取网络侧返回的待转换数据;解析所述待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件。本申请提供的方案,能够自动生成对象模板的头文件与实现文件,避免字段遗漏、层级不清晰等问题。层级不清晰等问题。层级不清晰等问题。

【技术实现步骤摘要】
文件生成方法、装置及终端


[0001]本申请涉及移动互联网
,尤其涉及一种文件生成方法、装置及终端。

技术介绍

[0002]在移动终端软件开发过程中,当移动终端向网络侧发送网络请求后,一般需要将网络侧返回的数据例如JSON(JavaScript Object Notation,JS对象简谱,一种轻量级的数据交换格式)数据转换成移动终端客户端可以进行处理的对象。
[0003]相关技术中,当移动终端客户端将JSON数据转换为客户端可以处理的对象时,需要手动生成对象模板的头文件与实现文件,以供客户端进行处理。
[0004]然而,相关技术中,手动生成对象模板的头文件与实现文件容易导致字段遗漏、层级不清晰等问题。

技术实现思路

[0005]为克服相关技术中存在的问题,本申请提供一种文件生成方法、装置及终端,该文件生成方法、装置及终端能够自动生成对象模板的头文件与实现文件,避免字段遗漏、层级不清晰等问题。
[0006]本申请第一方面提供了一种文件生成方法,包括:
[0007]向网络侧发送请求;
[0008]获取网络侧返回的待转换数据;
[0009]解析所述待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件。
[0010]在一种实施方式中,所述获取网络侧返回的待转换数据包括:获取网络侧返回的JSON数据。
[0011]在一种实施方式中,所述解析所述待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件,包括:
[0012]解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象;
[0013]解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象;
[0014]使用所述根据外层数据类型输出的文本对象和所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的头文件;
[0015]使用所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的实现文件。
[0016]在一种实施方式中,所述解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象,包括:
[0017]获取所述JSON数据中最外层的数据,将所述JSON数据中最外层的数据作为待解析
字典;
[0018]根据所述待解析字典中的值的不同数据类型,生成不同文本对象;
[0019]根据所述待解析字典中的键的不同数据类型,确定直接重新循环解析或进行处理后再重新循环解析。
[0020]在一种实施方式中,所述根据所述待解析字典中的值的不同数据类型,生成不同文本对象,包括:
[0021]在所述待解析字典的值的数据类型是字典或数组时,输出文本对象拼接文件引用模板;
[0022]在所述待解析字典的值的数据类型既不是字典又不是数组时,输出文本对象拼接头文件头部。
[0023]在一种实施方式中,所述根据所述待解析字典中的键的不同数据类型,确定直接重新循环解析或进行处理后再重新循环解析,包括:
[0024]将所述待解析字典中的键名称存入新建的第一键数组;
[0025]在所述第一键数组中的键对应值的数据类型是字典时,将所述第一键数组作为待解析字典重新循环解析;
[0026]在所述第一键数组中的键对应值的数据类型是数组时,遍历所述第一键数组中的全部值的数据类型,提取其中类型为字典的所有字段拼接为下沉字典,将所述下沉字典作为待解析字典重新循环解析。
[0027]在一种实施方式中,所述解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象,包括:
[0028]获取所述JSON数据中的嵌套数据;
[0029]根据所述嵌套数据中的值的不同数据类型,生成不同文本对象;
[0030]根据包含键的嵌套数据中的键的不同数据类型,生成不同文本对象。
[0031]在一种实施方式中,所述根据所述嵌套数据中的值的不同数据类型,生成不同文本对象,包括:
[0032]在所述嵌套数据的值的数据类型既不是字典又不是数组时,输出文本对象拼接头文件字符串对象模板;
[0033]在所述嵌套数据的值的数据类型是字典时,输出文本对象拼接头文件字典对象模板;
[0034]在所述嵌套数据的值的数据类型是数组时,输出文本对象拼接头文件数组对象模板。
[0035]在一种实施方式中,所述根据包含键的嵌套数据中的键的不同数据类型,生成不同文本对象,包括:
[0036]将所述嵌套数据的值的数据类型为字典或数组的数据结构中的键名称存入新建的第二键数组;
[0037]在所述第二键数组中的键对应值的数据类型是字典时,输出文本对象拼接实现文件字典对象模板;在所述第二键数组中的键对应值的数据类型是数组时,输出文本对象拼接实现文件数组对象模板。
[0038]本申请第二方面提供了一种文件生成装置,包括:
[0039]请求模块,用于向网络侧发送请求;
[0040]获取模块,用于获取网络侧返回的待转换数据;
[0041]处理模块,用于解析所述获取模块获取的待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件。
[0042]在一种实施方式中,所述处理模块包括:
[0043]外层数据处理子模块,用于解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象;
[0044]嵌套数据处理子模块,用于解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象;
[0045]文件生成子模块,用于使用所述根据外层数据类型输出的文本对象和所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的头文件,使用所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的实现文件。
[0046]本申请第三方面提供了一种终端设备,包括:
[0047]处理器;以及
[0048]存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行上述的方法。
[0049]本申请第四方面提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行上述的方法。
[0050]本申请提供的技术方案可以包括以下有益效果:
[0051]本申请的方案,通过获取网络侧返回的待转换数据,解析所述待转换数据的数据结构,进一步的,根据数据结构各部分的不同数据类型,可以分别生成客户端可用的对象模板的头文件与实现文件,从而实现自动生成对象模板的头文件与实现文件,以供客户端进行处理,这种方式,能够避免手工生成文件导致的字段遗漏、层级不清晰等问题。
[0052]本申请的方案本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种文件生成方法,其特征在于,包括:向网络侧发送请求;获取网络侧返回的待转换数据;解析所述待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件。2.根据权利要求1所述的方法,其特征在于,所述获取网络侧返回的待转换数据包括:获取网络侧返回的JSON数据。3.根据权利要求2所述的方法,其特征在于,所述解析所述待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件,包括:解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象;解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象;使用所述根据外层数据类型输出的文本对象和所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的头文件;使用所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的实现文件。4.根据权利要求3所述的方法,其特征在于,所述解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象,包括:获取所述JSON数据中最外层的数据,将所述JSON数据中最外层的数据作为待解析字典;根据所述待解析字典中的值的不同数据类型,生成不同文本对象;根据所述待解析字典中的键的不同数据类型,确定直接重新循环解析或进行处理后再重新循环解析。5.根据权利要求4所述的方法,其特征在于,所述根据所述待解析字典中的值的不同数据类型,生成不同文本对象,包括:在所述待解析字典的值的数据类型是字典或数组时,输出文本对象拼接文件引用模板;在所述待解析字典的值的数据类型既不是字典又不是数组时,输出文本对象拼接头文件头部。6.根据权利要求4所述的方法,其特征在于,所述根据所述待解析字典中的键的不同数据类型,确定直接重新循环解析或进行处理后再重新循环解析,包括:将所述待解析字典中的键名称存入新建的第一键数组;在所述第一键数组中的键对应值的数据类型是字典时,将所述第一键数组作为待解析字典重新循环解析;在所述第一键数组中的键对应值的数据类型是数组时,遍历所述第一键数组中的全部值的数据类型,提取其中类型为字典的所有字段拼接为下沉字典,将所述下沉字典作为待解析字典重新循环解析。
7.根据权利要求3所述的方法,其特征在于,所述解析JSON数据中嵌套的数...

【专利技术属性】
技术研发人员:谢艺欣
申请(专利权)人:北京新氧科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1