CN107861725B - 一种iOS数据反向自动解析策略 - Google Patents
一种iOS数据反向自动解析策略 Download PDFInfo
- Publication number
- CN107861725B CN107861725B CN201711176587.1A CN201711176587A CN107861725B CN 107861725 B CN107861725 B CN 107861725B CN 201711176587 A CN201711176587 A CN 201711176587A CN 107861725 B CN107861725 B CN 107861725B
- Authority
- CN
- China
- Prior art keywords
- information
- reading
- class
- attribute
- type
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/427—Parsing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/53—Decompilation; Disassembly
Abstract
本发明涉及一种iOS数据反向自动解析策略,包括如下步骤:步骤1,输入数据;步骤2,判断数据的种类,转入相应的解析器,或手动选择数据的种类,转入相应的解析器;步骤3,读取预设信息;步骤4,信息整合或遍历处理进行反向自动解析;步骤5,返回处理结果。本发明,能自动完成数据反向解析,对对象数据、类、属性、变量、对象类型均能给予解析,算法统一性好,解析准确度高,适于开发者分析APP及数据。
Description
技术领域
本发明涉及iOS数据解析技术领域,具体说是一种iOS数据反向自动解析策略。
背景技术
在客户端处理完数据后(指程序代码对数据进行处理),当返回到服务端时,需要转换为服务端的存储格式,这一过程称为数据反向解析。在现有技术中,客户端需要将各个字段、各个属性逐个或分组的发送回服务端,不但操作繁琐,代码量也相当大,容易出现错误,不利于提高开发效率。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种iOS数据反向自动解析策略,能自动完成数据反向解析,对对象数据、类、属性、变量、对象类型均能给予解析,算法统一性好,解析准确度高,适于开发者分析App及数据。
为达到以上目的,本发明采取的技术方案是:
一种iOS数据反向自动解析策略,其特征在于,包括如下步骤:
步骤1,输入数据;
步骤2,判断数据的种类,转入相应的解析器,或手动选择数据的种类,转入相应的解析器;
步骤3,读取预设信息;
步骤4,信息整合或遍历处理进行反向自动解析;
步骤5,返回处理结果。
在上述技术方案的基础上,所述数据的种类包括:对象数据、类、属性、变量、对象类型;
所述相应的解析器包括:对象数据解析器、类解析器、属性解析器、变量解析器、对象类型解析器。
在上述技术方案的基础上,对于对象数据,所述读取预设信息是指:读取预设类型map,包括oc基础类型和基础数据类型,根据类解析器产生的数据读取对象信息,读取对象数据;
对于类,所述读取预设信息是指:读取类基本信息,产生包含类信息的对象,读取类名,超类,媒体类等信息;
对于属性,所述读取预设信息是指:读取属性基本信息,读取属性名key,读取属性类型,读取属性协议信息,读取属性设置,读取方法,根据类型读取属性类信息;
对于变量,所述读取预设信息是指:读取变量基本信息,读取变量名key,读取变量类型;
对于对象类型,所述读取预设信息是指:当有用户自定义信息时,进行读取预设信息操作,否则跳过读取预设信息。
在上述技术方案的基础上,对于属性,在读取属性类型时,调用对象类型解析器实现。
在上述技术方案的基础上,对于变量,在读取变量类型时,调用对象类型解析器实现。
在上述技术方案的基础上,对于对象数据,所述信息整合或遍历处理进行反向自动解析是指:将类信息和对象数据整合,产生键值map;
对于类,所述信息整合或遍历处理进行反向自动解析是指:遍历读取类属性,遍历读取类变量,遍历读取类方法,遍历读取超类信息,根据前面步骤得到的信息产生类信息存储对象;
对于属性,所述信息整合或遍历处理进行反向自动解析是指:根据前面步骤得到的信息产生属性存储对象;
对于变量,所述信息整合或遍历处理进行反向自动解析是指:根据前面步骤得到的信息产生变量存储对象;
对于对象类型,所述信息整合或遍历处理进行反向自动解析是指:根据ocruntime获取属性类型,根据类型预设map产生类型相应枚举值。
在上述技术方案的基础上,对于类,在遍历读取类属性时,调用属性解析器实现;
在遍历读取类变量时,调用变量解析器实现。
在上述技术方案的基础上,对于对象数据,所述返回处理结果是指:返回最终键值map;
对于类,所述返回处理结果是指:产生类信息布局;
对于属性,所述返回处理结果是指:产生属性布局;
对于变量,所述返回处理结果是指:产生变量布局;
对于对象类型,所述返回处理结果是指:返回解析结果。
本发明所述的iOS数据反向自动解析策略,能自动完成数据反向解析,对对象数据、类、属性、变量、对象类型均能给予解析,算法统一性好,解析准确度高,适于开发者分析APP及数据。
附图说明
本发明有如下附图:
图1 对象数据处理的流程图。
图2 类处理的流程图。
图3 属性处理的流程图。
图4 变量处理的流程图。
图5 对象类型处理的流程图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图1~5所示,本发明所述的iOS数据反向自动解析策略,包括如下步骤:
步骤1,输入数据;
步骤2,判断数据的种类,转入相应的解析器,或手动选择数据的种类,转入相应的解析器;
步骤3,读取预设信息;
步骤4,信息整合或遍历处理进行反向自动解析;
步骤5,返回处理结果。
在上述技术方案的基础上,所述数据的种类包括:对象数据、类、属性、变量、对象类型;
所述相应的解析器包括:对象数据解析器、类解析器、属性解析器、变量解析器、对象类型解析器。
在上述技术方案的基础上,对于对象数据,所述读取预设信息是指:读取预设类型map,包括oc基础类型和基础数据类型,根据类解析器产生的数据读取对象信息,读取对象数据;
对于类,所述读取预设信息是指:读取类基本信息,产生包含类信息的对象,读取类名,超类,媒体类等信息;
对于属性,所述读取预设信息是指:读取属性基本信息,读取属性名key,读取属性类型,读取属性协议信息,读取属性设置,读取方法,根据类型读取属性类信息;
对于变量,所述读取预设信息是指:读取变量基本信息,读取变量名key,读取变量类型;
对于对象类型,所述读取预设信息是指:当有用户自定义信息时,进行读取预设信息操作,否则跳过读取预设信息。
在上述技术方案的基础上,对于属性,在读取属性类型时,调用对象类型解析器实现。
在上述技术方案的基础上,对于变量,在读取变量类型时,调用对象类型解析器实现。
在上述技术方案的基础上,对于对象数据,所述信息整合或遍历处理进行反向自动解析是指:将类信息和对象数据整合,产生键值map;
对于类,所述信息整合或遍历处理进行反向自动解析是指:遍历读取类属性,遍历读取类变量,遍历读取类方法,遍历读取超类信息,根据前面步骤得到的信息产生类信息存储对象;
对于属性,所述信息整合或遍历处理进行反向自动解析是指:根据前面步骤得到的信息产生属性存储对象;
对于变量,所述信息整合或遍历处理进行反向自动解析是指:根据前面步骤得到的信息产生变量存储对象;
对于对象类型,所述信息整合或遍历处理进行反向自动解析是指:根据ocruntime获取属性类型,根据类型预设map产生类型相应枚举值。
在上述技术方案的基础上,对于类,在遍历读取类属性时,调用属性解析器实现;
在遍历读取类变量时,调用变量解析器实现。
在上述技术方案的基础上,对于对象数据,所述返回处理结果是指:返回最终键值map;
对于类,所述返回处理结果是指:产生类信息布局;
对于属性,所述返回处理结果是指:产生属性布局;
对于变量,所述返回处理结果是指:产生变量布局;
对于对象类型,所述返回处理结果是指:返回解析结果。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (4)
1.一种iOS数据反向自动解析策略,其特征在于,包括如下步骤:
步骤1,输入数据;
步骤2,判断数据的种类,转入相应的解析器,或手动选择数据的种类,转入相应的解析器;
所述数据的种类包括:对象数据、类、属性、变量、对象类型;
所述相应的解析器包括:对象数据解析器、类解析器、属性解析器、变量解析器、对象类型解析器;
步骤3,读取预设信息;
对于对象数据,所述读取预设信息是指:读取预设类型map,包括oc基础类型和基础数据类型,根据类解析器产生的数据读取对象信息,读取对象数据;
对于类,所述读取预设信息是指:读取类基本信息,产生包含类信息的对象,读取类名,超类,媒体类等信息;
对于属性,所述读取预设信息是指:读取属性基本信息,读取属性名key,读取属性类型,读取属性协议信息,读取属性设置,读取方法,根据类型读取属性类信息;
对于变量,所述读取预设信息是指:读取变量基本信息,读取变量名key,读取变量类型;
对于对象类型,所述读取预设信息是指:当有用户自定义信息时,进行读取预设信息操作,否则跳过读取预设信息;
步骤4,信息整合或遍历处理进行反向自动解析;
对于对象数据,所述信息整合或遍历处理进行反向自动解析是指:将类信息和对象数据整合,产生键值map;
对于类,所述信息整合或遍历处理进行反向自动解析是指:遍历读取类属性,遍历读取类变量,遍历读取类方法,遍历读取超类信息,根据前面步骤得到的信息产生类信息存储对象;
对于属性,所述信息整合或遍历处理进行反向自动解析是指:根据前面步骤得到的信息产生属性存储对象;
对于变量,所述信息整合或遍历处理进行反向自动解析是指:根据前面步骤得到的信息产生变量存储对象;
对于对象类型,所述信息整合或遍历处理进行反向自动解析是指:根据ocruntime获取属性类型,根据类型预设map产生类型相应枚举值;
步骤5,返回处理结果;
对于对象数据,所述返回处理结果是指:返回最终键值map;
对于类,所述返回处理结果是指:产生类信息布局;
对于属性,所述返回处理结果是指:产生属性布局;
对于变量,所述返回处理结果是指:产生变量布局;
对于对象类型,所述返回处理结果是指:返回解析结果。
2.如权利要求1所述的iOS数据反向自动解析策略,其特征在于:对于属性,在读取属性类型时,调用对象类型解析器实现。
3.如权利要求1所述的iOS数据反向自动解析策略,其特征在于:对于变量,在读取变量类型时,调用对象类型解析器实现。
4.如权利要求1所述的iOS数据反向自动解析策略,其特征在于:对于类,在遍历读取类属性时,调用属性解析器实现;
在遍历读取类变量时,调用变量解析器实现。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711176587.1A CN107861725B (zh) | 2017-11-22 | 2017-11-22 | 一种iOS数据反向自动解析策略 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711176587.1A CN107861725B (zh) | 2017-11-22 | 2017-11-22 | 一种iOS数据反向自动解析策略 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107861725A CN107861725A (zh) | 2018-03-30 |
CN107861725B true CN107861725B (zh) | 2020-12-22 |
Family
ID=61702319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711176587.1A Active CN107861725B (zh) | 2017-11-22 | 2017-11-22 | 一种iOS数据反向自动解析策略 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107861725B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108008957B (zh) * | 2017-11-23 | 2023-01-17 | 北京酷我科技有限公司 | 一种iOS中数据反向解析方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424003B1 (en) * | 2014-10-24 | 2016-08-23 | Emc Corporation | Schema-less system output object parser and code generator |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100363925C (zh) * | 2003-09-29 | 2008-01-23 | 中国人民解放军理工大学通信工程学院 | 兼容移动访问的多媒体网页快速适配技术 |
US7962495B2 (en) * | 2006-11-20 | 2011-06-14 | Palantir Technologies, Inc. | Creating data in a data store using a dynamic ontology |
CN101436185B (zh) * | 2007-11-12 | 2012-02-01 | 北大方正集团有限公司 | 一种利用xml内存树实现多种文件兼容的方法 |
CN100492290C (zh) * | 2007-11-22 | 2009-05-27 | 上海交通大学 | 软件动态演化中构件运行时状态的获取和转换方法 |
CN101256492A (zh) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | 一种进行模型驱动架构的软件开发方法及其系统 |
CN103389895B (zh) * | 2012-08-30 | 2016-11-09 | 百度在线网络技术(北京)有限公司 | 一种前端页面的生成方法及系统 |
US10210005B2 (en) * | 2014-03-11 | 2019-02-19 | Iex Group, Inc. | Systems and methods for data synchronization and failover management |
CN105141630B (zh) * | 2015-09-18 | 2018-01-26 | 厦门市光娱投资管理有限公司 | 一种服务器与客户端通信数据自动解析的方法和装置 |
CN105760161B (zh) * | 2016-02-04 | 2019-01-08 | 网易(杭州)网络有限公司 | Python的属性解析方法及装置 |
CN106569800B (zh) * | 2016-10-17 | 2020-10-23 | 北京小米移动软件有限公司 | 前端界面生成方法及装置 |
-
2017
- 2017-11-22 CN CN201711176587.1A patent/CN107861725B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9424003B1 (en) * | 2014-10-24 | 2016-08-23 | Emc Corporation | Schema-less system output object parser and code generator |
Non-Patent Citations (1)
Title |
---|
Parsing a text file to store into class objects and attributes;aidinMC;《https://stackoverflow.com/questions/45849077/parsing-a-text-file-to-store-into-class-objects-and-attributes》;20170823;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN107861725A (zh) | 2018-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106294673B (zh) | 一种用户自定义规则实时解析日志数据的方法与系统 | |
CN108897724B (zh) | 功能完成进度确定方法及装置 | |
CN110443552B (zh) | 一种产品主数据信息自动传输的方法及装置 | |
CN109558525B (zh) | 一种测试数据集的生成方法、装置、设备和存储介质 | |
CN115293751B (zh) | 一种轨道交通bim模型数据的处理方法、系统及设备 | |
CN104317589A (zh) | 一种用于加载动态链接库的代码自动生成方法及装置 | |
CN111158741B (zh) | 监控业务模块对第三方类库依赖关系变化的方法及装置 | |
JP2018505506A (ja) | 機械ベースの命令編集 | |
CN113934684B (zh) | 一种数据格式自动转换方法、装置、电子设备及存储介质 | |
CN111273942A (zh) | 一种代码生成方法、存储介质、电子设备及系统 | |
CN103780448A (zh) | 一种控件层代码的生成方法及装置 | |
CN110866024B (zh) | 一种矢量数据库增量更新方法及系统 | |
CN114465937B (zh) | 网卡测试方法、装置、服务器和介质 | |
CN103235757B (zh) | 基于自动化造数对输入域测试对象进行测试的装置和方法 | |
CN107861725B (zh) | 一种iOS数据反向自动解析策略 | |
CN113923268B (zh) | 一种针对多版本通信规约的解析方法、设备及存储介质 | |
CN111190814A (zh) | 软件测试用例的生成方法、装置、存储介质及终端 | |
CN103246605A (zh) | 一种基于xml的遥控器键值配置方法和系统 | |
CN106557419B (zh) | 程序的测试方法及装置 | |
CN109508204B (zh) | 一种前端代码质量检测方法及装置 | |
CN115757479A (zh) | 数据库的查询优化方法、机器可读存储介质与计算机设备 | |
CN115757174A (zh) | 一种数据库的差异检测方法及装置 | |
CN105607957B (zh) | 一种基于opc da的数据采集与监控系统 | |
CN116956838A (zh) | 工程量清单的项目确定方法及确定装置 | |
CN109062797B (zh) | 生成信息的方法和装置 |
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 |