CN113448923B - 文件生成方法、装置及终端 - Google Patents
文件生成方法、装置及终端 Download PDFInfo
- Publication number
- CN113448923B CN113448923B CN202010303549.3A CN202010303549A CN113448923B CN 113448923 B CN113448923 B CN 113448923B CN 202010303549 A CN202010303549 A CN 202010303549A CN 113448923 B CN113448923 B CN 113448923B
- Authority
- CN
- China
- Prior art keywords
- data
- file
- dictionary
- array
- text object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
Abstract
本申请是关于一种文件生成方法、装置及终端。该文件生成方法,包括:向网络侧发送请求;获取网络侧返回的待转换数据;解析所述待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件。本申请提供的方案,能够自动生成对象模板的头文件与实现文件,避免字段遗漏、层级不清晰等问题。
Description
技术领域
本申请涉及移动互联网技术领域,尤其涉及一种文件生成方法、装置及终端。
背景技术
在移动终端软件开发过程中,当移动终端向网络侧发送网络请求后,一般需要将网络侧返回的数据例如JSON(JavaScript Object Notation,JS对象简谱,一种轻量级的数据交换格式)数据转换成移动终端客户端可以进行处理的对象。
相关技术中,当移动终端客户端将JSON数据转换为客户端可以处理的对象时,需要手动生成对象模板的头文件与实现文件,以供客户端进行处理。
然而,相关技术中,手动生成对象模板的头文件与实现文件容易导致字段遗漏、层级不清晰等问题。
发明内容
为克服相关技术中存在的问题,本申请提供一种文件生成方法、装置及终端,该文件生成方法、装置及终端能够自动生成对象模板的头文件与实现文件,避免字段遗漏、层级不清晰等问题。
本申请第一方面提供了一种文件生成方法,包括:
向网络侧发送请求;
获取网络侧返回的待转换数据;
解析所述待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件。
在一种实施方式中,所述获取网络侧返回的待转换数据包括:获取网络侧返回的JSON数据。
在一种实施方式中,所述解析所述待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件,包括:
解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象;
解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象;
使用所述根据外层数据类型输出的文本对象和所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的头文件;
使用所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的实现文件。
在一种实施方式中,所述解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象,包括:
获取所述JSON数据中最外层的数据,将所述JSON数据中最外层的数据作为待解析字典;
根据所述待解析字典中的值的不同数据类型,生成不同文本对象;
根据所述待解析字典中的键的不同数据类型,确定直接重新循环解析或进行处理后再重新循环解析。
在一种实施方式中,所述根据所述待解析字典中的值的不同数据类型,生成不同文本对象,包括:
在所述待解析字典的值的数据类型是字典或数组时,输出文本对象拼接文件引用模板;
在所述待解析字典的值的数据类型既不是字典又不是数组时,输出文本对象拼接头文件头部。
在一种实施方式中,所述根据所述待解析字典中的键的不同数据类型,确定直接重新循环解析或进行处理后再重新循环解析,包括:
将所述待解析字典中的键名称存入新建的第一键数组;
在所述第一键数组中的键对应值的数据类型是字典时,将所述第一键数组作为待解析字典重新循环解析;
在所述第一键数组中的键对应值的数据类型是数组时,遍历所述第一键数组中的全部值的数据类型,提取其中类型为字典的所有字段拼接为下沉字典,将所述下沉字典作为待解析字典重新循环解析。
在一种实施方式中,所述解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象,包括:
获取所述JSON数据中的嵌套数据;
根据所述嵌套数据中的值的不同数据类型,生成不同文本对象;
根据包含键的嵌套数据中的键的不同数据类型,生成不同文本对象。
在一种实施方式中,所述根据所述嵌套数据中的值的不同数据类型,生成不同文本对象,包括:
在所述嵌套数据的值的数据类型既不是字典又不是数组时,输出文本对象拼接头文件字符串对象模板;
在所述嵌套数据的值的数据类型是字典时,输出文本对象拼接头文件字典对象模板;
在所述嵌套数据的值的数据类型是数组时,输出文本对象拼接头文件数组对象模板。
在一种实施方式中,所述根据包含键的嵌套数据中的键的不同数据类型,生成不同文本对象,包括:
将所述嵌套数据的值的数据类型为字典或数组的数据结构中的键名称存入新建的第二键数组;
在所述第二键数组中的键对应值的数据类型是字典时,输出文本对象拼接实现文件字典对象模板;在所述第二键数组中的键对应值的数据类型是数组时,输出文本对象拼接实现文件数组对象模板。
本申请第二方面提供了一种文件生成装置,包括:
请求模块,用于向网络侧发送请求;
获取模块,用于获取网络侧返回的待转换数据;
处理模块,用于解析所述获取模块获取的待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件。
在一种实施方式中,所述处理模块包括:
外层数据处理子模块,用于解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象;
嵌套数据处理子模块,用于解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象;
文件生成子模块,用于使用所述根据外层数据类型输出的文本对象和所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的头文件,使用所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的实现文件。
本申请第三方面提供了一种终端设备,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行上述的方法。
本申请第四方面提供了一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行上述的方法。
本申请提供的技术方案可以包括以下有益效果:
本申请的方案,通过获取网络侧返回的待转换数据,解析所述待转换数据的数据结构,进一步的,根据数据结构各部分的不同数据类型,可以分别生成客户端可用的对象模板的头文件与实现文件,从而实现自动生成对象模板的头文件与实现文件,以供客户端进行处理,这种方式,能够避免手工生成文件导致的字段遗漏、层级不清晰等问题。
本申请的方案,所述待转换数据可以是JSON数据,可以先判断JSON数据中最外层的数据和嵌套的数据的数据类型,通过将JSON数据的外层数据和内层嵌套的数据分别进行解析,可以更准确地分析出JSON数据里面包含的数据类型。然后,根据判断出的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件,从而实现自动生成对象模板的头文件与实现文件,以供客户端进行处理。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
通过结合附图对本申请示例性实施方式进行更详细的描述,本申请的上述以及其它目的、特征和优势将变得更加明显,其中,在本申请示例性实施方式中,相同的参考标号通常代表相同部件。
图1为本申请实施例示出的文件生成方法的流程示意图;
图2为本申请实施例示出的文件生成方法的另一流程示意图;
图3为本申请实施例示出的文件生成方法中解析JSON数据的外层数据的流程示意图;
图4为本申请实施例示出的文件生成方法中解析JSON数据的嵌套数据的流程示意图;
图5为本申请实施例示出的解析JSON数据的结构并生成头文件和实现文件的流程示意图;
图6为本申请实施例示出的文件生成装置的结构示意图;
图7为本申请实施例示出的文件生成装置的另一结构示意图;
图8为本申请实施例示出的计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本申请的优选实施方式。虽然附图中显示了本申请的优选实施方式,然而应该理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语“第一”、“第二”、“第三”等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在软件开发过程中,会涉及一些数据或文件的格式转换。当移动终端例如手机、平板等向网络测发送网络请求后,需要获取网络侧返回的数据。其中,移动终端接收到网络侧返回的数据后,需生成移动终端可以处理的对象,例如生成对象模板的头文件与实现文件等。相关技术中一般手动生成对象模板的头文件与实现文件,在手动生成文件过程中,容易导致字段遗漏、层级不清晰等问题,进而导致生成对象模板的头文件与实现文件的错误。
针对上述问题,本申请实施例提供一种文件生成方法,具体的,以下结合附图详细描述本申请实施例的技术方案。
图1为本申请实施例示出的文件生成方法的流程示意图。
参见图1,该方法流程包括:
在步骤S101中,向网络侧发送请求。
在步骤S102中,获取网络侧返回的待转换数据。
该步骤可以是获取网络侧返回的JSON(JavaScript Object Notation,JS对象简谱)数据。
此处需要说明的是,JSON是一种数据交换格式,采用完全独立于编程语言的文本格式来存储和表示数据。JSON可以包括字典、数组、字符串等数据类型等中的一个或多个类型。字符串为一个单独的字符串,例如“北京”;数组由若干相关的数据按照一定顺序并列在一起,例如“北京”,“上海”;字典包括名称及与名称对应的值,例如“首都”:“北京”。其中,数组类型是有序的零个或者多个值,每个值可以为任意类型;字典类型是一个无序的“键-值”,其中键是字符串,值则可以为JSON任一基本类型,如字典或数组。其中,字典与数组等类型中会出现嵌套的关系,例如字典中嵌套字典,或者字典中嵌套数组,或者数组中嵌套字典等。关于移动终端需生成的对象模板,一般包括头文件与实现文件,其文件结构一般与JSON数据格式保持一致。
在步骤S103中,解析待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件。
该步骤S103可以判断JSON数据中最外层的数据和嵌套的数据的数据类型,根据判断出的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件。
该步骤S103中,可以解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象;解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象。通过将JSON数据的外层数据和内层嵌套的数据分别进行解析,可以更准确地分析出JSON数据里面包含的数据类型。然后,使用根据外层数据类型输出的文本对象和根据内层数据类型输出的文本对象,生成客户端可用的对象模板的头文件;使用根据内层数据类型输出的文本对象,生成客户端可用的对象模板的实现文件。
其中,解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象,可以包括:获取JSON数据中最外层的数据,将JSON数据中最外层的数据作为待解析字典;根据待解析字典中的值的不同数据类型,生成不同文本对象;根据待解析字典中的键的不同数据类型,确定直接重新循环解析或进行处理后再重新循环解析。字典类型中包含“键-值”,此处是分别针对待解析字典中的值和键来分析出对应的不同数据类型,供客户端进行更精确处理。
其中,解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象,可以包括:获取JSON数据中的嵌套数据;根据嵌套数据中的值的不同数据类型,生成不同文本对象;根据包含键的嵌套数据中的键的不同数据类型,生成不同文本对象。此处是分别针对嵌套数据中的值和键来分析出对应的不同数据类型,供客户端进行更精确处理。
在本实施例中,通过获取网络侧返回的待转换数据,解析待转换数据的数据结构,进一步的,根据数据结构各部分的不同数据类型,可以分别生成客户端可用的对象模板的头文件与实现文件,从而实现自动生成对象模板的头文件与实现文件,以供客户端进行处理,这种方式,能够避免手工生成文件导致的字段遗漏、层级不清晰等问题。
图2为本申请实施例示出的文件生成方法的另一流程示意图。图2相对图1更详细描述了本申请的方案。
参见图2,该方法流程包括:
在步骤S201中,客户端获取用户输入的网络请求链接地址。
该步骤S201中,用户可以在客户端例如在Mac软件客户端中输入要访问的服务器地址作为网络请求链接地址。
在步骤S202中,客户端向网络侧发送网络请求链接地址,接收网络侧返回的JSON数据。
该步骤S202中,客户端向网络侧发送网络请求链接地址,网络侧将返回结果转换为JSON数据发送给客户端,客户端接收网络侧返回的JSON数据。
在步骤S203中,客户端解析JSON数据的结构,根据解析结果生成对象模板的头文件与实现文件。
该步骤S203中,客户端对JSON数据的结构进行解析,可以解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象;解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象。通过将JSON数据的外层数据和内层嵌套的数据分别进行解析,可以更准确地分析出JSON数据里面包含的数据类型。然后,使用根据外层数据类型输出的文本对象和根据内层数据类型输出的文本对象,生成客户端可用的对象模板的头文件;使用根据内层数据类型输出的文本对象,生成客户端可用的对象模板的实现文件。
其中,解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象,可以包括:获取JSON数据中最外层的数据,将JSON数据中最外层的数据作为待解析字典;根据待解析字典中的值的不同数据类型,生成不同文本对象;根据待解析字典中的键的不同数据类型,确定直接重新循环解析或进行处理后再重新循环解析。字典类型中包含“键-值”,此处是分别针对待解析字典中的值和键来分析出对应的不同数据类型,供客户端进行更精确处理。
其中,解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象,可以包括:获取JSON数据中的嵌套数据;根据嵌套数据中的值的不同数据类型,生成不同文本对象;根据包含键的嵌套数据中的键的不同数据类型,生成不同文本对象。此处是分别针对嵌套数据中的值和键来分析出对应的不同数据类型,供客户端进行更精确处理。
客户端解析JSON数据中最外层的数据后可以自动输出文本对象拼接头文件头部,客户端解析JSON数据中嵌套的数据后,可以自动输出文本对象拼接头文件字符串对象模板、文本对象拼接头文件字典对象模板、文本对象拼接头文件数组对象模板、文本对象拼接头文件尾部等与头文件相关的文本对象,根据这些已输出的与头文件相关的文本对象,可以组合生成头文件。
客户端解析JSON数据中嵌套的数据后,可以自动输出文本对象拼接实现文件头部、文本对象拼接实现文件字典对象模板、文本对象拼接实现文件数组对象模板、文本对象拼接实现文件尾部等与实现文件相关的文本对象,根据这些已输出的与实现文件相关的文本对象,可以组合生成实现文件。
因此,通过上述处理,本申请方案实现了将网络侧返回的JSON数据转换为客户端可以处理的对象。
该步骤的更详细的内容,可以参见图3-图5流程所示。
在步骤中S204中,客户端将生成的头文件与实现文件存储到指定文件夹。
该步骤S204中,客户端可以将生成的头文件与实现文件加入对应的文件后缀,输出至用户选择的指定文件夹例如Mac文件中。例如,在生成文件时可设置输出文件后缀名称。例如,可以输出至指定Mac文件目录下或其他目录下,可以由用户选择输出的文件目录。
在本实施例中,可以先判断JSON数据中最外层的数据和嵌套的数据的数据类型,通过将JSON数据的外层数据和内层嵌套的数据分别进行解析,可以更准确地分析出JSON数据里面包含的数据类型。然后,根据判断出的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件,从而实现自动生成对象模板的头文件与实现文件,以供客户端进行处理。
图3为本申请实施例示出的文件生成方法中解析JSON数据的外层数据的流程示意图。
参见图3,该流程包括:
在步骤S301中,获取JSON数据中的待解析字典。
获取到需要处理的JSON数据之后,JSON数据的最外层是字典,因此该步骤S301可以将JSON数据中最外层的数据作为待解析字典。
步骤S302中,判断待解析字典的值的数据类型是否为字典或数组,如果是,进入步骤S303,如果否,进入步骤S308。
字典类型是一个无序的“键-值”,其中键是字符串,值则可以为JSON任一基本类型,如字典或数组。该步骤S302中,判断待解析字典中的值的数据类型是否为字典或数组。
在步骤S303中,输出文本对象拼接文件引用模板。
该步骤S303中,因为已经判断出待解析字典的值的数据类型是字典或数组,因此输出文本对象拼接文件引用模板,也即将文件引用模板写入文本对象。该步骤S303输出文本对象的目的是将文件引用模板写入文本对象中。文本对象拼接文件引用模板后,后续可以供在最外层的头文件中使用。
在步骤S304中,将待解析字典中的键名称存入新建的第一键数组。
第一键数组是新建的数组,是在处理过程中独立的数组,与判断值的数据类型是字典或数组中的数组无关。该步骤S304将待解析字典中的键名称存入新建的第一键数组,目的是为了后续进行解析操作。
在步骤S305中,循环取出第一键数组中的全部键名称进行处理,将键名称移除字符串中的下划线,并将包含首字母的字母大写,作为头文件中的键名称。
字典类型中的键是字符串,该步骤S305将键名称移除字符串中的下划线,并将包含首字母的字母大写,作为头文件中的键名称。该处理是为了与项目中代码规范保持一致,是一种骆驼式命名法(Camel-Case,又称驼峰式命名法),属于程序编写时的一套命名规则(惯例),也即混合使用大小写字母来构成变量和函数的名字。例如,网络侧返回index_number_id,客户端中使用时根据代码规范会转换为indexNumberId。
在步骤S306中,判断第一键数组中的键对应值的数据类型是字典还是数组,如果键对应值的数据类型是字典,将第一键数组作为待解析字典返回步骤S302重新进行解析判断,如果键对应值的数据类型是数组,进入步骤S307。
由于字典中可能有嵌套,嵌套类型可能是字典、数组或字符串这三种类型,因此对于字典类型要重新开始再解析判断。该步骤S306键对应值的数据类型是字典时,将其作为待解析字典返回步骤S302重新进行解析判断。
在步骤S307中,遍历第一键数组中的全部值的数据类型,提取第一键数组中类型为字典的所有字段,拼接为一个涵盖全部键的下沉字典作为待解析字典,返回步骤S302重新进行解析判断。
由于数组类型是有序的零个或者多个值,每个值可以为任意类型,也就是说也可能嵌套有字典,因此该步骤S307中遍历第一键数组中的全部值的数据类型,提取第一键数组中类型为字典的所有字段,拼接为一个涵盖全部键的下沉字典作为待解析字典,返回步骤S302重新进行解析判断。
在步骤S308中,输出文本对象拼接头文件头部。
在本实施例中,解析了JSON数据的外层数据的结构,分别针对待解析字典中的值和键来分析出对应的不同数据类型,供客户端进行更精确处理。
图4为本申请实施例示出的文件生成方法中解析JSON数据的嵌套数据的流程示意图。
参见图4,该流程包括:
在步骤S309中,获取JSON数据中的嵌套数据。
该步骤可以获取JSON数据的待解析字典中的嵌套数据。
步骤S310中,判断嵌套数据的值的数据类型是否既不是字典又不是数组,如果是,进入步骤S311,如果否,进入步骤S312。
在步骤S311中,输出文本对象拼接头文件字符串对象模板,进入步骤S316。
该步骤S311中,根据嵌套数据的值的数据类型既不是字典又不是数组,也即可以判断出嵌套数据的值的数据类型是字符串,因此输出文本对象拼接头文件字符串对象模板,也即将头文件字符串对象模板写入文本对象。该步骤S311输出文本对象的目的是将头文件字符串对象模板写入文本对象中。
在步骤S312中,进一步判断嵌套数据的值的数据类型是否为字典,如果是,进入步骤S313,如果否,进入步骤S314。
在步骤S313中,输出文本对象拼接头文件字典对象模板,进入步骤S316。
该步骤S313中,根据嵌套数据的值的数据类型是字典,因此输出文本对象拼接头文件字典对象模板,也即将头文件字典对象模板写入文本对象。该步骤S313输出文本对象的目的是将头文件字典对象模板写入文本对象中。
在步骤S314中,进一步判断嵌套数据的值的数据类型是否为数组,如果是,进入步骤S315。
在步骤S315中,输出文本对象拼接头文件数组对象模板,进入步骤S316。
该步骤S315中,根据嵌套数据的值的数据类型是数组,因此输出文本对象拼接头文件数组对象模板,也即将头文件数组对象模板写入文本对象。该步骤S315输出文本对象的目的是将头文件数组对象模板写入文本对象中。
在步骤S316中,输出文本对象拼接头文件尾部。
该步骤S316中,输出文本对象拼接头文件尾部,也即将头文件尾部写入文本对象,从而完成头文件的生成,头文件包括了头部和尾部。该步骤S316输出文本对象的目的是将头文件尾部写入文本对象。
在步骤S317中,输出文本对象拼接实现文件头部。
该步骤S317中,添加实现文件字符串作为实现文件头部,输出文本对象拼接实现文件头部,也即将实现文件头部写入文本对象。该步骤S317输出文本对象的目的是将实现文件头部写入文本对象。
在步骤S318中,将嵌套数据的值的数据类型为字典或数组的数据结构中的键名称存入新建的第二键数组。
第二键数组是新建的数组,是在处理过程中独立的数组,与判断值的数据类型是字典或数组中的数组无关。该步骤S318将嵌套数据的值的数据类型为字典或数组的数据结构中的键名称,存入新建的第二键数组,其目的是为了后续进行解析操作。
在步骤S319中,判断第二键数组中的键对应值的数据类型是否是字典,如果是,进入步骤S320,如果否,进入步骤S321。
在步骤S320中,输出文本对象拼接实现文件字典对象模板,进入步骤S323。
该步骤S320中,根据第二键数组中的键对应值的数据类型是字典,因此输出文本对象拼接实现文件字典对象模板,也即将实现文件字典对象模板写入文本对象。该步骤S320输出文本对象的目的是将实现文件字典对象模板写入文本对象中。
在步骤S321中,判断第二键数组中的键对应值的数据类型是否是数组,如果是,进入步骤S322。
在步骤S322中,输出文本对象拼接实现文件数组对象模板,进入步骤S323。
该步骤S322中,根据第二键数组中的键对应值的数据类型是数组,因此输出文本对象拼接实现文件数组对象模板,也即将实现文件数组对象模板写入文本对象。该步骤S322输出文本对象的目的是将实现文件数组对象模板写入文本对象中。
在步骤S323中,输出文本对象拼接实现文件尾部。
该步骤S323中,输出文本对象拼接实现文件尾部,也即将实现文件尾部写入文本对象。该步骤S323输出文本对象的目的是将实现文件尾部写入文本对象。
在步骤S324中,根据已输出的各文本对象,分别生成头文件和实现文件。
该步骤S324中,根据已经输出的与头文件相关的文本对象(也即前面输出的文本对象拼接头文件头部、文本对象拼接头文件字符串对象模板、文本对象拼接头文件字典对象模板、文本对象拼接头文件数组对象模板、文本对象拼接头文件尾部),就可以组合生成头文件。
该步骤S324中,根据已经输出的与实现文件相关的文本对象(也即前面输出的文本对象拼接实现文件头部、文本对象拼接实现文件字典对象模板、文本对象拼接实现文件数组对象模板、文本对象拼接实现文件尾部),就可以组合生成实现文件。
在本实施例中,解析了JSON数据的嵌套数据的结构,分别针对嵌套数据中的值和键来分析出对应的不同数据类型,供客户端进行更精确处理。
图5为本申请实施例示出的解析JSON数据的结构并生成头文件和实现文件的流程示意图。图5中结合了图3与图4中的流程,方案的描述更加详细。
参见图5,该流程包括:
在步骤S301中,获取JSON数据中的待解析字典。
获取到需要处理的JSON数据之后,JSON数据的最外层是字典,因此该步骤S301可以将JSON数据中最外层的数据作为待解析字典。
步骤S302中,判断待解析字典的值的数据类型是否为字典或数组,如果是,进入步骤S303,如果否,进入步骤S308。
字典类型是一个无序的“键-值”,其中键是字符串,值则可以为JSON任一基本类型,如字典或数组。该步骤S302中,判断待解析字典中的值的数据类型是否为字典或数组。
在步骤S303中,输出文本对象拼接文件引用模板。
该步骤S303中,因为已经判断出待解析字典的值的数据类型是字典或数组,因此输出文本对象拼接文件引用模板,也即将文件引用模板写入文本对象。该步骤S303输出文本对象的目的是将文件引用模板写入文本对象中。文本对象拼接文件引用模板后,后续可以供在最外层的头文件中使用。
在步骤S304中,将待解析字典中的键名称存入新建的第一键数组。
第一键数组是新建的数组,是在处理过程中独立的数组,与判断值的数据类型是字典或数组中的数组无关。该步骤S304将待解析字典中的键名称存入新建的第一键数组,目的是为了后续进行解析操作。
在步骤S305中,循环取出第一键数组中的全部键名称进行处理,将键名称移除字符串中的下划线,并将包含首字母的字母大写,作为头文件中的键名称。
字典类型中的键是字符串,该步骤S305将键名称移除字符串中的下划线,并将包含首字母的字母大写,作为头文件中的键名称。该处理是为了与项目中代码规范保持一致,是一种骆驼式命名法(Camel-Case,又称驼峰式命名法),属于程序编写时的一套命名规则(惯例),也即混合使用大小写字母来构成变量和函数的名字。例如,网络侧返回index_number_id,客户端中使用时根据代码规范会转换为indexNumberId。
在步骤S306中,判断第一键数组中的键对应值的数据类型是字典还是数组,如果键对应值的数据类型是字典,将第一键数组作为待解析字典返回步骤S302重新进行解析判断,如果键对应值的数据类型是数组,进入步骤S307。
由于字典中可能有嵌套,嵌套类型可能是字典、数组或字符串这三种类型,因此对于字典类型要重新开始再解析判断。该步骤S306键对应值的数据类型是字典时,将其作为待解析字典返回步骤S302重新进行解析判断。
在步骤S307中,遍历第一键数组中的全部值的数据类型,提取第一键数组中类型为字典的所有字段,并拼接为一个涵盖全部键的下沉字典作为待解析字典,返回步骤S302重新进行解析判断。
由于数组类型是有序的零个或者多个值,每个值可以为任意类型,也就是说也可能有嵌套有字典,因此该步骤S307中遍历第一键数组中的全部值的数据类型,提取第一键数组中类型为字典的所有字段,拼接为一个涵盖全部键的下沉字典作为待解析字典,返回步骤S302重新进行解析判断。
在步骤S308中,输出文本对象拼接头文件头部,进入步骤S309。
该步骤S308中,因为已经判断出待解析字典的值的数据类型既不是字典也不是数组,因此输出文本对象拼接头文件头部,也即将头文件头部写入文本对象。该步骤S308输出文本对象的目的是将头文件头部写入文本对象。需说明的是,头文件也可称为声明文件。声明一般写在头文件中,定义实现一般写在实现文件中。头文件中多为变量和类的声明,而实现文件一般是变量和类中函数的真正定义。实现文件一般是需要编译的,但是头文件一般是不需要进行编译。
在步骤S309中,获取JSON数据中的嵌套数据。
该步骤S309可以获取JSON数据的待解析字典中的嵌套数据。
步骤S310中,判断嵌套数据的值的数据类型是否既不是字典又不是数组,如果是,进入步骤S311,如果否,进入步骤S312。
在步骤S311中,输出文本对象拼接头文件字符串对象模板,进入步骤S316。
该步骤S311中,根据嵌套数据的值的数据类型既不是字典又不是数组,也即可以判断出嵌套数据的值的数据类型是字符串,因此输出文本对象拼接头文件字符串对象模板,也即将头文件字符串对象模板写入文本对象。该步骤S311输出文本对象的目的是将头文件字符串对象模板写入文本对象中。
在步骤S312中,进一步判断嵌套数据的值的数据类型是否为字典,如果是,进入步骤S313,如果否,进入步骤S314。
在步骤S313中,输出文本对象拼接头文件字典对象模板,进入步骤S316。
该步骤S313中,根据嵌套数据的值的数据类型是字典,因此输出文本对象拼接头文件字典对象模板,也即将头文件字典对象模板写入文本对象。该步骤S313输出文本对象的目的是将头文件字典对象模板写入文本对象中。
在步骤S314中,进一步判断嵌套数据的值的数据类型是否为数组,如果是,进入步骤S315。
在步骤S315中,输出文本对象拼接头文件数组对象模板,进入步骤S316。
该步骤S315中,根据嵌套数据的值的数据类型是数组,因此输出文本对象拼接头文件数组对象模板,也即将头文件数组对象模板写入文本对象。该步骤S315输出文本对象的目的是将头文件数组对象模板写入文本对象中。
在步骤S316中,输出文本对象拼接头文件尾部。
该步骤S316中,输出文本对象拼接头文件尾部,也即将头文件尾部写入文本对象,从而完成头文件的生成,头文件包括了头部和尾部。该步骤S316输出文本对象的目的是将头文件尾部写入文本对象。
在步骤S317中,输出文本对象拼接实现文件头部。
该步骤S317中,添加实现文件字符串作为实现文件头部,输出文本对象拼接实现文件头部,也即将实现文件头部写入文本对象。该步骤S317输出文本对象的目的是将实现文件头部写入文本对象。
在步骤S318中,将嵌套数据的值的数据类型为字典或数组的数据结构中的键名称存入新建的第二键数组。
第二键数组是新建的数组,是在处理过程中独立的数组,与判断值的数据类型是字典或数组中的数组无关。该步骤S318将嵌套数据的值的数据类型为字典或数组的数据结构中的键名称,存入新建的第二键数组,其目的是为了后续进行解析操作。
在步骤S319中,判断第二键数组中的键对应值的数据类型是否是字典,如果是,进入步骤S320,如果否,进入步骤S321。
在步骤S320中,输出文本对象拼接实现文件字典对象模板,进入步骤S323。
该步骤S320中,根据第二键数组中的键对应值的数据类型是字典,因此输出文本对象拼接实现文件字典对象模板,也即将实现文件字典对象模板写入文本对象。该步骤S320输出文本对象的目的是将实现文件字典对象模板写入文本对象中。
在步骤S321中,判断第二键数组中的键对应值的数据类型是否是数组,如果是,进入步骤S322。
在步骤S322中,输出文本对象拼接实现文件数组对象模板,进入步骤S323。
该步骤S322中,根据第二键数组中的键对应值的数据类型是数组,因此输出文本对象拼接实现文件数组对象模板,也即将实现文件数组对象模板写入文本对象。该步骤S322输出文本对象的目的是将实现文件数组对象模板写入文本对象中。
在步骤S323中,输出文本对象拼接实现文件尾部。
该步骤S323中,输出文本对象拼接实现文件尾部,也即将实现文件尾部写入文本对象。该步骤S323输出文本对象的目的是将实现文件尾部写入文本对象。
在步骤S324中,根据已输出的各文本对象,分别生成头文件和实现文件。
该步骤S324中,根据已经输出的与头文件相关的文本对象(也即前面各步骤中输出的文本对象拼接头文件头部、文本对象拼接头文件字符串对象模板、文本对象拼接头文件字典对象模板、文本对象拼接头文件数组对象模板、文本对象拼接头文件尾部),就可以组合生成头文件。
该步骤S324中,根据已经输出的与实现文件相关的文本对象(也即前面各步骤中输出的文本对象拼接实现文件头部、文本对象拼接实现文件字典对象模板、文本对象拼接实现文件数组对象模板、文本对象拼接实现文件尾部),就可以组合生成实现文件。
在本实施例中,分别判断JSON数据中最外层的数据和嵌套的数据的数据类型,再根据判断出的不同数据类型对应处理。例如,分别输出文本对象拼接头文件头部、文本对象拼接头文件字符串对象模板、文本对象拼接头文件字典对象模板、文本对象拼接头文件数组对象模板、文本对象拼接头文件尾部等与头文件相关的文本对象,根据已经输出的与头文件相关的文本对象,就可以组合生成头文件。例如,分别输出文本对象拼接实现文件头部、文本对象拼接实现文件字典对象模板、文本对象拼接实现文件数组对象模板、文本对象拼接实现文件尾部等与实现文件相关的文本对象,根据已经输出的与实现文件相关的文本对象,就可以组合生成实现文件,从而实现了自动将网络侧返回的JSON数据转换为客户端可以处理的对象,能够避免手工生成导致的字段遗漏、层级不清晰等问题。
与前述应用功能实现方法实施例相对应,本申请还提供了文件生成装置、设备及相应的实施例。
图6为本申请实施例示出的文件生成装置的结构示意图。
参见图6,该文件生成装置60包括:请求模块61、获取模块62、处理模块63。
请求模块61,用于向网络侧发送请求。
获取模块62,用于获取网络侧返回的待转换数据。获取模块62可以是获取网络侧返回的JSON数据。
处理模块63,用于解析获取模块62获取的待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件。处理模块63可以判断JSON数据中最外层的数据和嵌套的数据的数据类型,根据判断出的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件。
在本实施例中,通过获取网络侧返回的待转换数据,解析待转换数据的数据结构,进一步的,根据数据结构各部分的不同数据类型,可以分别生成客户端可用的对象模板的头文件与实现文件,从而实现自动生成对象模板的头文件与实现文件,以供客户端进行处理,这种方式,能够避免手工生成文件导致的字段遗漏、层级不清晰等问题。
图7为本申请实施例示出的文件生成装置的另一结构示意图。
参见图7,该文件生成装置70包括:请求模块61、获取模块62、处理模块63。
请求模块61、获取模块62、处理模块63的功能可参见图6中的描述,此处不再赘述。
在一种实施方式中,处理模块63可以包括:外层数据处理子模块631、嵌套数据处理子模块632、文件生成子模块633。
外层数据处理子模块631,用于解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象。外层数据处理子模块631可以获取JSON数据中最外层的数据,将JSON数据中最外层的数据作为待解析字典;根据待解析字典中的值的不同数据类型,生成不同文本对象;根据待解析字典中的键的不同数据类型,确定直接重新循环解析或进行处理后再重新循环解析。字典类型中包含“键-值”,此处是分别针对待解析字典中的值和键来分析出对应的不同数据类型,供客户端进行更精确处理。
外层数据处理子模块631可以在待解析字典的值的数据类型是字典或数组时,输出文本对象拼接文件引用模板;在待解析字典的值的数据类型不是字典或数组时,输出文本对象拼接头文件头部。外层数据处理子模块631可以将待解析字典中的键名称存入新建的第一键数组;在第一键数组中的键对应值的数据类型是字典时,将第一键数组作为待解析字典重新循环解析;在第一键数组中的键对应值的数据类型是数组时,遍历第一键数组中的全部值的数据类型并提取其中类型为字典的所有字段拼接为下沉字典,将下沉字典作为待解析字典重新循环解析。
嵌套数据处理子模块632,用于解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象。嵌套数据处理子模块632可以获取JSON数据中的嵌套数据;根据嵌套数据中的值的不同数据类型,生成不同文本对象;根据包含键的嵌套数据中的键的不同数据类型,生成不同文本对象。此处是分别针对嵌套数据中的值和键来分析出对应的不同数据类型,供客户端进行更精确处理。
嵌套数据处理子模块632可以在嵌套数据的值的数据类型既不是字典又不是数组时,输出文本对象拼接头文件字符串对象模板;在嵌套数据的值的数据类型是字典时,输出文本对象拼接头文件字典对象模板;在嵌套数据的值的数据类型是数组时,输出文本对象拼接头文件数组对象模板。
嵌套数据处理子模块632可以将嵌套数据的值的数据类型为字典或数组的数据结构中的键名称存入新建的第二键数组;在第二键数组中的键对应值的数据类型是字典时,输出文本对象拼接实现文件字典对象模板;在第二键数组中的键对应值的数据类型是数组时,输出文本对象拼接实现文件数组对象模板。
文件生成子模块633,用于使用根据外层数据类型输出的文本对象和根据内层数据类型输出的文本对象,生成客户端可用的对象模板的头文件,使用根据内层数据类型输出的文本对象,生成客户端可用的对象模板的实现文件。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不再做详细阐述说明。
图8为本申请实施例示出的计算设备的结构示意图。该计算设备可以是移动终端设备但不局限于此。
参见图8,计算设备1000包括存储器1010和处理器1020。
处理器1020可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器1010可以包括各种类型的存储单元,例如系统内存、只读存储器(ROM),和永久存储装置。其中,ROM可以存储处理器1020或者计算机的其他模块需要的静态数据或者指令。永久存储装置可以是可读写的存储装置。永久存储装置可以是即使计算机断电后也不会失去存储的指令和数据的非易失性存储设备。在一些实施方式中,永久性存储装置采用大容量存储装置(例如磁或光盘、闪存)作为永久存储装置。另外一些实施方式中,永久性存储装置可以是可移除的存储设备(例如软盘、光驱)。系统内存可以是可读写存储设备或者易失性可读写存储设备,例如动态随机访问内存。系统内存可以存储一些或者所有处理器在运行时需要的指令和数据。此外,存储器1010可以包括任意计算机可读存储媒介的组合,包括各种类型的半导体存储芯片(DRAM,SRAM,SDRAM,闪存,可编程只读存储器),磁盘和/或光盘也可以采用。在一些实施方式中,存储器1010可以包括可读和/或写的可移除的存储设备,例如激光唱片(CD)、只读数字多功能光盘(例如DVD-ROM,双层DVD-ROM)、只读蓝光光盘、超密度光盘、闪存卡(例如SD卡、min SD卡、Micro-SD卡等等)、磁性软盘等等。计算机可读存储媒介不包含载波和通过无线或有线传输的瞬间电子信号。
存储器1010上存储有可执行代码,当可执行代码被处理器1020处理时,可以使处理器1020执行上文述及的方法中的部分或全部。
上文中已经参考附图详细描述了本申请的方案。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。本领域技术人员也应该知悉,说明书中所涉及的动作和模块并不一定是本申请所必须的。另外,可以理解,本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减,本申请实施例装置中的模块可以根据实际需要进行合并、划分和删减。
此外,根据本申请的方法还可以实现为一种计算机程序或计算机程序产品,该计算机程序或计算机程序产品包括用于执行本申请的上述方法中部分或全部步骤的计算机程序代码指令。
或者,本申请还可以实施为一种非暂时性机器可读存储介质(或计算机可读存储介质、或机器可读存储介质),其上存储有可执行代码(或计算机程序、或计算机指令代码),当可执行代码(或计算机程序、或计算机指令代码)被电子设备(或计算设备、服务器等)的处理器执行时,使处理器执行根据本申请的上述方法的各个步骤的部分或全部。
本领域技术人员还将明白的是,结合这里的申请所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。
附图中的流程图和框图显示了根据本申请的多个实施例的系统和方法的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标记的功能也可以以不同于附图中所标记的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (10)
1.一种文件生成方法,其特征在于,包括:
向网络侧发送请求;
获取网络侧返回的待转换数据,其中包括获取网络侧返回的JSON数据;
解析所述待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件,其中包括:
解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象;
解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象;
使用所述根据外层数据类型输出的文本对象和所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的头文件;
使用所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的实现文件。
2.根据权利要求1所述的方法,其特征在于,所述解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象,包括:
获取所述JSON数据中最外层的数据,将所述JSON数据中最外层的数据作为待解析字典;
根据所述待解析字典中的值的不同数据类型,生成不同文本对象;
根据所述待解析字典中的键的不同数据类型,确定直接重新循环解析或进行处理后再重新循环解析。
3.根据权利要求2所述的方法,其特征在于,所述根据所述待解析字典中的值的不同数据类型,生成不同文本对象,包括:
在所述待解析字典的值的数据类型是字典或数组时,输出文本对象拼接文件引用模板;
在所述待解析字典的值的数据类型既不是字典又不是数组时,输出文本对象拼接头文件头部。
4.根据权利要求2所述的方法,其特征在于,所述根据所述待解析字典中的键的不同数据类型,确定直接重新循环解析或进行处理后再重新循环解析,包括:
将所述待解析字典中的键名称存入新建的第一键数组;
在所述第一键数组中的键对应值的数据类型是字典时,将所述第一键数组作为待解析字典重新循环解析;
在所述第一键数组中的键对应值的数据类型是数组时,遍历所述第一键数组中的全部值的数据类型,提取其中类型为字典的所有字段拼接为下沉字典,将所述下沉字典作为待解析字典重新循环解析。
5.根据权利要求1所述的方法,其特征在于,所述解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象,包括:
获取所述JSON数据中的嵌套数据;
根据所述嵌套数据中的值的不同数据类型,生成不同文本对象;
根据包含键的嵌套数据中的键的不同数据类型,生成不同文本对象。
6.根据权利要求5所述的方法,其特征在于,所述根据所述嵌套数据中的值的不同数据类型,生成不同文本对象,包括:
在所述嵌套数据的值的数据类型既不是字典又不是数组时,输出文本对象拼接头文件字符串对象模板;
在所述嵌套数据的值的数据类型是字典时,输出文本对象拼接头文件字典对象模板;
在所述嵌套数据的值的数据类型是数组时,输出文本对象拼接头文件数组对象模板。
7.根据权利要求6所述的方法,其特征在于,所述根据包含键的嵌套数据中的键的不同数据类型,生成不同文本对象,包括:
将所述嵌套数据的值的数据类型为字典或数组的数据结构中的键名称存入新建的第二键数组;
在所述第二键数组中的键对应值的数据类型是字典时,输出文本对象拼接实现文件字典对象模板;在所述第二键数组中的键对应值的数据类型是数组时,输出文本对象拼接实现文件数组对象模板。
8.一种文件生成装置,其特征在于,包括:
请求模块,用于向网络侧发送请求;
获取模块,用于获取网络侧返回的待转换数据,其中包括获取网络侧返回的JSON数据;
处理模块,用于解析所述获取模块获取的待转换数据的数据结构,根据数据结构各部分的不同数据类型,分别生成客户端可用的对象模板的头文件与实现文件;
其中所述处理模块包括:
外层数据处理子模块,用于解析JSON数据中最外层的数据得到外层数据类型,根据外层数据类型输出对应的文本对象;
嵌套数据处理子模块,用于解析JSON数据中嵌套的数据得到内层数据类型,根据内层数据类型输出对应的文本对象;
文件生成子模块,用于使用所述根据外层数据类型输出的文本对象和所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的头文件,使用所述根据内层数据类型输出的文本对象,生成客户端可用的对象模板的实现文件。
9.一种终端设备,其特征在于,包括:
处理器;以及
存储器,其上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器执行如权利要求1-7中任一项所述的方法。
10.一种非暂时性机器可读存储介质,其上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010303549.3A CN113448923B (zh) | 2020-04-17 | 2020-04-17 | 文件生成方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010303549.3A CN113448923B (zh) | 2020-04-17 | 2020-04-17 | 文件生成方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113448923A CN113448923A (zh) | 2021-09-28 |
CN113448923B true CN113448923B (zh) | 2023-09-12 |
Family
ID=77808262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010303549.3A Active CN113448923B (zh) | 2020-04-17 | 2020-04-17 | 文件生成方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113448923B (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541926A (zh) * | 2010-12-30 | 2012-07-04 | 北京新媒传信科技有限公司 | 一种数据交换处理方法、设备和系统 |
CN104767777A (zh) * | 2014-01-07 | 2015-07-08 | 中国移动通信集团贵州有限公司 | 打开远程文件的系统及方法 |
CN105072130A (zh) * | 2015-08-26 | 2015-11-18 | 广州慧睿思通信息科技有限公司 | 一种asn.1解码器代码自动生成方法 |
CN105740260A (zh) * | 2014-12-09 | 2016-07-06 | 阿里巴巴集团控股有限公司 | 提取模板文件数据结构的方法和装置 |
CN106897587A (zh) * | 2017-02-27 | 2017-06-27 | 百度在线网络技术(北京)有限公司 | 加固应用、加载加固应用的方法和装置 |
CN107231420A (zh) * | 2017-06-01 | 2017-10-03 | 烽火通信科技股份有限公司 | 结构化数据的传输方法、存储介质及系统 |
CN107657471A (zh) * | 2016-09-22 | 2018-02-02 | 腾讯科技(北京)有限公司 | 一种虚拟资源的展示方法、客户端及插件 |
CN108875001A (zh) * | 2018-06-14 | 2018-11-23 | 江苏爬山虎科技股份有限公司 | 一种大容量地理空间数据导出vct文件的方法 |
CN108959210A (zh) * | 2018-07-09 | 2018-12-07 | 网易(杭州)网络有限公司 | 一种文件转换的方法及装置 |
CN109614396A (zh) * | 2018-12-17 | 2019-04-12 | 广东电网有限责任公司 | 一种地址数据结构化与规范化的清理方法 |
CN109710894A (zh) * | 2018-08-20 | 2019-05-03 | 平安普惠企业管理有限公司 | 文件内容提取方法、设备、装置及计算机可读存储介质 |
CN110046288A (zh) * | 2019-04-19 | 2019-07-23 | 新华三技术有限公司 | 从消息体中提取数据的方法及装置 |
CN110222008A (zh) * | 2019-05-06 | 2019-09-10 | 平安国际智慧城市科技股份有限公司 | 一种数据格式的转换方法、系统、介质及电子设备 |
CN110457302A (zh) * | 2019-07-31 | 2019-11-15 | 河南开合软件技术有限公司 | 一种结构化数据智能清洗方法 |
CN110673847A (zh) * | 2019-09-24 | 2020-01-10 | 北京乐我无限科技有限责任公司 | 配置页面的生成方法、装置、电子设备和可读存储介质 |
CN110704518A (zh) * | 2019-08-26 | 2020-01-17 | 苏宁云计算有限公司 | 基于Flink引擎的业务数据处理方法及装置 |
CN110909523A (zh) * | 2019-12-02 | 2020-03-24 | 中国银行股份有限公司 | 一种数据处理方法及装置 |
-
2020
- 2020-04-17 CN CN202010303549.3A patent/CN113448923B/zh active Active
Patent Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102541926A (zh) * | 2010-12-30 | 2012-07-04 | 北京新媒传信科技有限公司 | 一种数据交换处理方法、设备和系统 |
CN104767777A (zh) * | 2014-01-07 | 2015-07-08 | 中国移动通信集团贵州有限公司 | 打开远程文件的系统及方法 |
CN105740260A (zh) * | 2014-12-09 | 2016-07-06 | 阿里巴巴集团控股有限公司 | 提取模板文件数据结构的方法和装置 |
CN105072130A (zh) * | 2015-08-26 | 2015-11-18 | 广州慧睿思通信息科技有限公司 | 一种asn.1解码器代码自动生成方法 |
CN107657471A (zh) * | 2016-09-22 | 2018-02-02 | 腾讯科技(北京)有限公司 | 一种虚拟资源的展示方法、客户端及插件 |
CN106897587A (zh) * | 2017-02-27 | 2017-06-27 | 百度在线网络技术(北京)有限公司 | 加固应用、加载加固应用的方法和装置 |
CN107231420A (zh) * | 2017-06-01 | 2017-10-03 | 烽火通信科技股份有限公司 | 结构化数据的传输方法、存储介质及系统 |
CN108875001A (zh) * | 2018-06-14 | 2018-11-23 | 江苏爬山虎科技股份有限公司 | 一种大容量地理空间数据导出vct文件的方法 |
CN108959210A (zh) * | 2018-07-09 | 2018-12-07 | 网易(杭州)网络有限公司 | 一种文件转换的方法及装置 |
CN109710894A (zh) * | 2018-08-20 | 2019-05-03 | 平安普惠企业管理有限公司 | 文件内容提取方法、设备、装置及计算机可读存储介质 |
CN109614396A (zh) * | 2018-12-17 | 2019-04-12 | 广东电网有限责任公司 | 一种地址数据结构化与规范化的清理方法 |
CN110046288A (zh) * | 2019-04-19 | 2019-07-23 | 新华三技术有限公司 | 从消息体中提取数据的方法及装置 |
CN110222008A (zh) * | 2019-05-06 | 2019-09-10 | 平安国际智慧城市科技股份有限公司 | 一种数据格式的转换方法、系统、介质及电子设备 |
CN110457302A (zh) * | 2019-07-31 | 2019-11-15 | 河南开合软件技术有限公司 | 一种结构化数据智能清洗方法 |
CN110704518A (zh) * | 2019-08-26 | 2020-01-17 | 苏宁云计算有限公司 | 基于Flink引擎的业务数据处理方法及装置 |
CN110673847A (zh) * | 2019-09-24 | 2020-01-10 | 北京乐我无限科技有限责任公司 | 配置页面的生成方法、装置、电子设备和可读存储介质 |
CN110909523A (zh) * | 2019-12-02 | 2020-03-24 | 中国银行股份有限公司 | 一种数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113448923A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110727417B (zh) | 一种数据处理方法和装置 | |
CN107766036B (zh) | 一种模块的构建方法、构建装置及终端设备 | |
CN114090671A (zh) | 数据导入方法、装置、电子设备及存储介质 | |
CN112995749A (zh) | 视频字幕的处理方法、装置、设备和存储介质 | |
CN112307509A (zh) | 一种脱敏处理方法、设备、介质及电子设备 | |
CN112181924A (zh) | 文件转换方法、装置、设备及介质 | |
CN116166236A (zh) | 代码推荐方法、装置、计算机设备及存储介质 | |
CN105824647A (zh) | 一种表单页面生成方法和装置 | |
CN113468534B (zh) | 针对安卓应用程序的漏洞检测方法及相关装置 | |
WO2022068556A1 (zh) | 一种代码翻译方法、装置及设备 | |
CN113391817B (zh) | 基于antlr4的头文件替换方法及装置 | |
CN111258905A (zh) | 缺陷定位方法、装置和电子设备及计算机可读存储介质 | |
CN112860264B (zh) | 一种抽象语法树重构方法及装置 | |
CN105867886B (zh) | 一种写表格的方法及装置 | |
CN106502707B (zh) | 代码生成方法及装置 | |
CN113448923B (zh) | 文件生成方法、装置及终端 | |
CN111061927B (zh) | 数据处理方法、装置及电子设备 | |
CN115599388B (zh) | 一种api接口文档生成方法、存储介质及电子设备 | |
CN116521621A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN115099196A (zh) | 报文转化为数据实体的方法及装置 | |
CN110929188A (zh) | 服务端页面渲染方法及装置 | |
CN113176877A (zh) | 实体类生成方法、装置及存储介质 | |
CN113779311A (zh) | 一种数据处理的方法、装置和存储介质 | |
CN117289905B (zh) | 一种应用软件开发方法和装置、存储介质和电子设备 | |
CN110825376B (zh) | 一种解析带注释json文件的方法、存储介质及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |