CN107861725A - 一种iOS数据反向自动解析策略 - Google Patents

一种iOS数据反向自动解析策略 Download PDF

Info

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
Application number
CN201711176587.1A
Other languages
English (en)
Other versions
CN107861725B (zh
Inventor
邱扬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kuwo Technology Co Ltd
Original Assignee
Beijing Kuwo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kuwo Technology Co Ltd filed Critical Beijing Kuwo Technology Co Ltd
Priority to CN201711176587.1A priority Critical patent/CN107861725B/zh
Publication of CN107861725A publication Critical patent/CN107861725A/zh
Application granted granted Critical
Publication of CN107861725B publication Critical patent/CN107861725B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; 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数据反向自动解析策略。
背景技术
在客户端处理完数据后(指程序代码对数据进行处理),当返回到服务端时,需要转换为服务端的存储格式,这一过程称为数据反向解析。在现有技术中,客户端需要将各个字段、各个属性逐个或分组的发送回服务端,不但操作繁琐,代码量也相当大,容易出现错误,不利于提高开发效率。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种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;
对于类,所述返回处理结果是指:产生类信息布局;
对于属性,所述返回处理结果是指:产生属性布局;
对于变量,所述返回处理结果是指:产生变量布局;
对于对象类型,所述返回处理结果是指:返回解析结果。
CN201711176587.1A 2017-11-22 2017-11-22 一种iOS数据反向自动解析策略 Active CN107861725B (zh)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108008957A (zh) * 2017-11-23 2018-05-08 北京酷我科技有限公司 一种iOS中数据反向解析方法

Citations (11)

* Cited by examiner, † Cited by third party
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 北京小米移动软件有限公司 前端界面生成方法及装置

Patent Citations (11)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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