一种iOS中数据正向解析方法技术

技术编号:17779402 阅读:25 留言:0更新日期:2018-04-22 07:45
本发明专利技术涉及一种iOS中数据正向解析方法,包括如下步骤:步骤1,接收输入的数据;步骤2,接收指定的要转换的类;步骤3,对类进行正向解析处理,得到类解析信息;步骤4,读取预设协议;步骤5,根据类解析信息、预设协议,产生类解析map;步骤6,根据类解析信息产生对象;步骤7,开始解析数据。本发明专利技术,能自动的对数据类型、类、属性、变量、对象类型给予解析,算法统一性好,流程统一,解析准确度高,适于统一、标准化的完成正向解析。

【技术实现步骤摘要】
一种iOS中数据正向解析方法
本专利技术涉及iOS数据解析
,具体说是一种iOS中数据正向解析方法。
技术介绍
在iOS开发中,基本上都需要进行客户端和服务端的数据交互(数据传输),其中:客户端作为前台,服务端作为后台,客户端会向服务端发出request请求,此时,服务端会向客户端提供(返回)必要的数据(即response)。通常,从服务端获取的数据为JSON数据(JavaScriptObjectNotation)。JSON数据是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,这些特性使其成为理想的数据交换语言。JSON建构于两种结构:1.“名称/值”对的集合(Acollectionofname/valuepairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hashtable),有键列表(keyedlist),或者关联数组(associativearray)。2.值的有序列表(Anorderedlistofvalues)。在大部分语言中,它被理解为数组(array)。客户端中的APP,在从服务端请求(获取)到所需JSON数据时,并不能直接使用这些数据,还需要转换为程序代码可认、可处理的数据类型,这一过程称为数据正向解析。客户端中的APP,将需要保存的数据发送给服务端时,则需要数据反向解析,提供给服务端直接可处理的JSON数据。在现有技术中,客户端需要逐个对字段、属性对应的数据进行正向或反向解析,不但操作繁琐,代码量也相当大,容易出现错误,不利于提高开发效率。不统一的处理流程极易带来难以发现的BUG,不利于后期对APP的维护和纠错。另外,开发人员一般希望后台都返回字符串,这样可以使用诸如NSString*类型的变量来接收。但是,后台却往往是肆意返回各种类型的数据。究其原因,大多解释为有的数据不便于转换为字符串类型,于是返回的数据都是各种类型。这导致了以下问题的出现:后台返回数值型数据给我们,而我们不清楚数据类型时,使用NSString来接收,则程序执赋值代码的时候,有可能崩溃,并报错误。例如:后台返回的json数据是data:{peopleNum:12345price:200}其中peopleNum和price均是数值型。如果执行self.labPeopleNum.text=peopleNum;则会出现崩溃。报错为:reason:'-[__NSCFNumberrangeOfCharacterFromSet:]:unrecognizedselectorsenttoinstance。类似的情况还有返回NULL数据时,会出现程序崩溃的情况。
技术实现思路
针对现有技术中存在的缺陷,本专利技术的目的在于提供一种iOS中数据正向解析方法,能自动的对数据类型、类、属性、变量、对象类型给予解析,算法统一性好,流程统一,解析准确度高,适于统一、标准化的完成正向解析。为达到以上目的,本专利技术采取的技术方案是:一种iOS中数据正向解析方法,其特征在于,包括如下步骤:步骤1,接收输入的数据;步骤2,接收指定的要转换的类;步骤3,对类进行正向解析处理,得到类解析信息;步骤4,读取预设协议;步骤5,根据类解析信息、预设协议,产生类解析map;步骤6,根据类解析信息产生对象;步骤7,开始解析数据。在上述技术方案的基础上,步骤3具体包括:获取类信息,通过类解析器实现,获取类属性信息,通过属性解析器实现,获取类变量信息,通过变量解析器实现,获取类方法信息,将以上四种信息汇总即得到类解析信息。在上述技术方案的基础上,类解析器最终返回类信息布局,属性解析器最终返回属性布局,变量解析器最终返回变量布局。在上述技术方案的基础上,步骤7具体包括:步骤7.1,判断是否发现key对应的数据,所述key指关键字,发现后,则进入数据类型解析器对类型进行判定;如果数据类型正确,则根据key给产生的类对象赋值,如果数据类型错误,则忽略数据,产生错误日志;步骤7.2,判断数据是否解析完毕,如果没有解析完毕,则返回步骤7.1,如果已经解析完毕,则产生解析完毕的类对象;步骤7.3,返回类对象。在上述技术方案的基础上,数据类型解析器根据类型map,将数据类型转换为oc类型,并返回转换成功或转换失败信息。本专利技术所述的iOS中数据正向解析方法,能自动的对数据类型、类、属性、变量、对象类型给予解析,算法统一性好,流程统一,解析准确度高,适于统一、标准化的完成正向解析。附图说明本专利技术有如下附图:图1本专利技术的流程图。具体实施方式以下结合附图对本专利技术作进一步详细说明。如图1所示,本专利技术所述的iOS中数据正向解析方法,包括如下步骤:步骤1,接收输入的数据;步骤2,接收指定的要转换的类;步骤3,对类进行正向解析处理,得到类解析信息;步骤4,读取预设协议;如果不希望按类解析信息进行后续处理,则需要给出预设协议,指示按协议进行后续的解析;该协议包含了解析规则;步骤5,根据类解析信息、预设协议,产生类解析map;步骤6,根据类解析信息产生对象;步骤7,开始解析数据。在上述技术方案的基础上,步骤3具体包括:获取类信息,通过类解析器实现,获取类属性信息,通过属性解析器实现,获取类变量信息,通过变量解析器实现,获取类方法信息,将以上四种信息汇总即得到类解析信息。在上述技术方案的基础上,类解析器最终返回类信息布局,属性解析器最终返回属性布局,变量解析器最终返回变量布局。在上述技术方案的基础上,步骤7具体包括:步骤7.1,判断是否发现key对应的数据,所述key指关键字,发现后,则进入数据类型解析器对类型进行判定;如果数据类型正确,则根据key给产生的类对象赋值,如果数据类型错误,则忽略数据,产生错误日志;步骤7.2,判断数据是否解析完毕,如果没有解析完毕,则返回步骤7.1,如果已经解析完毕,则产生解析完毕的类对象;步骤7.3,返回类对象。在上述技术方案的基础上,数据类型解析器根据类型map,将数据类型转换为oc类型,并返回转换成功或转换失败信息。本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。本文档来自技高网
...
一种iOS中数据正向解析方法

【技术保护点】
一种iOS中数据正向解析方法,其特征在于,包括如下步骤:步骤1,接收输入的数据;步骤2,接收指定的要转换的类;步骤3,对类进行正向解析处理,得到类解析信息;步骤4,读取预设协议;步骤5,根据类解析信息、预设协议,产生类解析map;步骤6,根据类解析信息产生对象;步骤7,开始解析数据。

【技术特征摘要】
1.一种iOS中数据正向解析方法,其特征在于,包括如下步骤:步骤1,接收输入的数据;步骤2,接收指定的要转换的类;步骤3,对类进行正向解析处理,得到类解析信息;步骤4,读取预设协议;步骤5,根据类解析信息、预设协议,产生类解析map;步骤6,根据类解析信息产生对象;步骤7,开始解析数据。2.如权利要求1所述的iOS中数据正向解析方法,其特征在于:步骤3具体包括:获取类信息,通过类解析器实现,获取类属性信息,通过属性解析器实现,获取类变量信息,通过变量解析器实现,获取类方法信息,将以上四种信息汇总即得到类解析信息。3.如权利要求2所述的iOS中数据正向解析方法,其特征在于:类解析器最终返回类信息布局,属性...

【专利技术属性】
技术研发人员:邱扬
申请(专利权)人:北京酷我科技有限公司
类型:发明
国别省市:北京,11

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

1