CN107861725A - 一种iOS数据反向自动解析策略 - Google Patents
一种iOS数据反向自动解析策略 Download PDFInfo
- Publication number
- CN107861725A CN107861725A CN201711176587.1A CN201711176587A CN107861725A CN 107861725 A CN107861725 A CN 107861725A CN 201711176587 A CN201711176587 A CN 201711176587A CN 107861725 A CN107861725 A CN 107861725A
- Authority
- CN
- China
- Prior art keywords
- information
- class
- data
- variable
- 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.)
- Granted
Links
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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Devices For Executing Special Programs (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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 (8)
1.一种iOS数据反向自动解析策略,其特征在于,包括如下步骤:
步骤1,输入数据;
步骤2,判断数据的种类,转入相应的解析器,或手动选择数据的种类,转入相应的解析器;
步骤3,读取预设信息;
步骤4,信息整合或遍历处理进行反向自动解析;
步骤5,返回处理结果。
2.如权利要求1所述的iOS数据反向自动解析策略,其特征在于:所述数据的种类包括:对象数据、类、属性、变量、对象类型;
所述相应的解析器包括:对象数据解析器、类解析器、属性解析器、变量解析器、对象类型解析器。
3.如权利要求2所述的iOS数据反向自动解析策略,其特征在于:对于对象数据,所述读取预设信息是指:读取预设类型map,包括oc基础类型和基础数据类型,根据类解析器产生的数据读取对象信息,读取对象数据;
对于类,所述读取预设信息是指:读取类基本信息,产生包含类信息的对象,读取类名,超类,媒体类等信息;
对于属性,所述读取预设信息是指:读取属性基本信息,读取属性名key,读取属性类型,读取属性协议信息,读取属性设置,读取方法,根据类型读取属性类信息;
对于变量,所述读取预设信息是指:读取变量基本信息,读取变量名key,读取变量类型;
对于对象类型,所述读取预设信息是指:当有用户自定义信息时,进行读取预设信息操作,否则跳过读取预设信息。
4.如权利要求3所述的iOS数据反向自动解析策略,其特征在于:对于属性,在读取属性类型时,调用对象类型解析器实现。
5.如权利要求3所述的iOS数据反向自动解析策略,其特征在于:对于变量,在读取变量类型时,调用对象类型解析器实现。
6.如权利要求2所述的iOS数据反向自动解析策略,其特征在于:对于对象数据,所述信息整合或遍历处理进行反向自动解析是指:将类信息和对象数据整合,产生键值map;
对于类,所述信息整合或遍历处理进行反向自动解析是指:遍历读取类属性,遍历读取类变量,遍历读取类方法,遍历读取超类信息,根据前面步骤得到的信息产生类信息存储对象;
对于属性,所述信息整合或遍历处理进行反向自动解析是指:根据前面步骤得到的信息产生属性存储对象;
对于变量,所述信息整合或遍历处理进行反向自动解析是指:根据前面步骤得到的信息产生变量存储对象;
对于对象类型,所述信息整合或遍历处理进行反向自动解析是指:根据ocruntime获取属性类型,根据类型预设map产生类型相应枚举值。
7.如权利要求6所述的iOS数据反向自动解析策略,其特征在于:对于类,在遍历读取类属性时,调用属性解析器实现;
在遍历读取类变量时,调用变量解析器实现。
8.如权利要求2所述的iOS数据反向自动解析策略,其特征在于:对于对象数据,所述返回处理结果是指:返回最终键值map;
对于类,所述返回处理结果是指:产生类信息布局;
对于属性,所述返回处理结果是指:产生属性布局;
对于变量,所述返回处理结果是指:产生变量布局;
对于对象类型,所述返回处理结果是指:返回解析结果。
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 true CN107861725A (zh) | 2018-03-30 |
CN107861725B 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) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108008957A (zh) * | 2017-11-23 | 2018-05-08 | 北京酷我科技有限公司 | 一种iOS中数据反向解析方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604069A (zh) * | 2003-09-29 | 2005-04-06 | 中国人民解放军理工大学通信工程学院 | 兼容移动访问的多媒体网页快速适配技术 |
CN101162428A (zh) * | 2007-11-22 | 2008-04-16 | 上海交通大学 | 软件动态演化中构件运行时状态的获取和转换方法 |
CN101256492A (zh) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | 一种进行模型驱动架构的软件开发方法及其系统 |
CN101436185A (zh) * | 2007-11-12 | 2009-05-20 | 北大方正集团有限公司 | 一种利用xml内存树实现多种文件兼容的方法 |
US20110213791A1 (en) * | 2006-11-20 | 2011-09-01 | Akash Jain | Creating data in a data store using a dynamic ontology |
CN103389895A (zh) * | 2012-08-30 | 2013-11-13 | 爱乐活(北京)科技有限公司 | 一种前端页面的生成方法及系统 |
US20150261614A1 (en) * | 2014-03-11 | 2015-09-17 | IEX Group, Inc | Systems and Methods for Data Synchronization and Failover Management |
CN105141630A (zh) * | 2015-09-18 | 2015-12-09 | 厦门市光娱投资管理有限公司 | 一种服务器与客户端通信数据自动解析的方法和装置 |
CN105760161A (zh) * | 2016-02-04 | 2016-07-13 | 网易(杭州)网络有限公司 | Python的属性解析方法及装置 |
US9424003B1 (en) * | 2014-10-24 | 2016-08-23 | Emc Corporation | Schema-less system output object parser and code generator |
CN106569800A (zh) * | 2016-10-17 | 2017-04-19 | 北京小米移动软件有限公司 | 前端界面生成方法及装置 |
-
2017
- 2017-11-22 CN CN201711176587.1A patent/CN107861725B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604069A (zh) * | 2003-09-29 | 2005-04-06 | 中国人民解放军理工大学通信工程学院 | 兼容移动访问的多媒体网页快速适配技术 |
US20110213791A1 (en) * | 2006-11-20 | 2011-09-01 | Akash Jain | Creating data in a data store using a dynamic ontology |
CN101436185A (zh) * | 2007-11-12 | 2009-05-20 | 北大方正集团有限公司 | 一种利用xml内存树实现多种文件兼容的方法 |
CN101162428A (zh) * | 2007-11-22 | 2008-04-16 | 上海交通大学 | 软件动态演化中构件运行时状态的获取和转换方法 |
CN101256492A (zh) * | 2008-03-31 | 2008-09-03 | 宋乃辉 | 一种进行模型驱动架构的软件开发方法及其系统 |
CN103389895A (zh) * | 2012-08-30 | 2013-11-13 | 爱乐活(北京)科技有限公司 | 一种前端页面的生成方法及系统 |
US20150261614A1 (en) * | 2014-03-11 | 2015-09-17 | IEX Group, Inc | Systems and Methods for Data Synchronization and Failover Management |
US9424003B1 (en) * | 2014-10-24 | 2016-08-23 | Emc Corporation | Schema-less system output object parser and code generator |
CN105141630A (zh) * | 2015-09-18 | 2015-12-09 | 厦门市光娱投资管理有限公司 | 一种服务器与客户端通信数据自动解析的方法和装置 |
CN105760161A (zh) * | 2016-02-04 | 2016-07-13 | 网易(杭州)网络有限公司 | Python的属性解析方法及装置 |
CN106569800A (zh) * | 2016-10-17 | 2017-04-19 | 北京小米移动软件有限公司 | 前端界面生成方法及装置 |
Non-Patent Citations (1)
Title |
---|
AIDINMC: "Parsing a text file to store into class objects and attributes", 《HTTPS://STACKOVERFLOW.COM/QUESTIONS/45849077/PARSING-A-TEXT-FILE-TO-STORE-INTO-CLASS-OBJECTS-AND-ATTRIBUTES》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108008957A (zh) * | 2017-11-23 | 2018-05-08 | 北京酷我科技有限公司 | 一种iOS中数据反向解析方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107861725B (zh) | 2020-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107220648B (zh) | 理赔单据的字符识别方法及服务器 | |
CN106294673B (zh) | 一种用户自定义规则实时解析日志数据的方法与系统 | |
CN106933835A (zh) | 一种兼容性解析Excel文件的数据导入方法及系统 | |
CN104317909B (zh) | 兴趣点数据的校验方法和装置 | |
CN106126157B (zh) | 基于医院信息系统的语音输入方法及装置 | |
CN107977205A (zh) | Gui界面自动创建方法及系统 | |
CN110309295B (zh) | 生成裁判文书经审理查明段的方法及装置 | |
CN110969547A (zh) | 一种文本生成方法及装置 | |
CN103399848A (zh) | 发动机试验数据标准化特定格式导入处理方法 | |
CN110688315A (zh) | 接口代码检测报告生成方法、电子装置及存储介质 | |
CN106557419B (zh) | 程序的测试方法及装置 | |
CN105808510A (zh) | 一种调试数据校验方法及装置 | |
CN106919501A (zh) | 基于缺陷模式的静态分析方法和工具 | |
CN107679567B (zh) | 一种代码抄写行为识别方法、装置和系统 | |
CN109086985B (zh) | 面向航天器总装的专业测试信息管理系统 | |
CN107861725A (zh) | 一种iOS数据反向自动解析策略 | |
CN110851630A (zh) | 一种深度学习标注样本的管理系统及方法 | |
CN111859539A (zh) | 基于Tcl或者Tk二次开发的有限元自动赋属性和材料参数方法 | |
CN109918389B (zh) | 基于消息流和图数据库的数据风控方法、装置及存储介质 | |
CN108828427B (zh) | 信号完整性测试的判据查找方法、装置、设备及存储介质 | |
CN103699482B (zh) | 控件合理性检测方法和装置 | |
CN109684615B (zh) | 一种行人碰撞试验报告生成方法及装置 | |
CN103778210A (zh) | 一种待分析文件的文件具体类型的判断方法及装置 | |
CN114490929A (zh) | 一种招投标信息采集方法、装置、存储介质及终端设备 | |
CN110110280B (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 |