[发明专利]一种iOS中数据反向解析方法有效
申请号: | 201711186128.1 | 申请日: | 2017-11-23 |
公开(公告)号: | CN108008957B | 公开(公告)日: | 2023-01-17 |
发明(设计)人: | 邱扬 | 申请(专利权)人: | 北京酷我科技有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京国标律师事务所 11753 | 代理人: | 姚克枫 |
地址: | 100080 北京市海淀区农大*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 ios 数据 反向 解析 方法 | ||
本发明涉及一种iOS中数据反向解析方法,包括如下步骤:步骤1,接收要转换的类;步骤2,接收要转换的类对象;步骤3,对类进行反向解析处理,得到类解析信息;步骤4,读取预设协议;步骤5,根据类解析信息、预设协议,产生类解析map;调用对象数据解析器,得到键值map;步骤6,开始解析数据。本发明,能自动的对对象数据、类、属性、变量、对象类型给予解析,算法统一性好,流程统一,解析准确度高,适于统一、标准化的完成反向解析。
技术领域
本发明涉及iOS数据解析技术领域,具体说是一种iOS中数据反向解析方法。
背景技术
在iOS开发中,基本上都需要进行客户端和服务端的数据交互(数据传输),其中:
客户端作为前台,服务端作为后台,
客户端会向服务端发出request请求,此时,服务端会向客户端提供(返回)必要的数据(即response)。
通常,从服务端获取的数据为JSON数据(JavaScript Object Notation)。JSON数据是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,这些特性使其成为理想的数据交换语言。
JSON建构于两种结构:
1. “名称/值”对的集合(A collection of name/value pairs)。不同的语言中,它被理解为对象(object),记录(record),结构(struct),字典(dictionary),哈希表(hashtable),有键列表(keyed list),或者关联数组 (associative array)。
2. 值的有序列表(An ordered list of values)。在大部分语言中,它被理解为数组(array)。
客户端中的APP,在从服务端请求(获取)到所需JSON数据时,并不能直接使用这些数据,还需要转换为程序代码可认、可处理的数据类型,这一过程称为数据正向解析。
客户端中的APP,将需要保存的数据发送给服务端时,则需要数据反向解析,提供给服务端直接可处理的JSON数据。
在现有技术中,客户端需要逐个对字段、属性对应的数据进行正向或反向解析,不但操作繁琐,代码量也相当大,容易出现错误,不利于提高开发效率。不统一的处理流程极易带来难以发现的BUG,不利于后期对APP的维护和纠错。
另外,开发人员一般希望后台都返回字符串,这样可以使用诸如NSString *类型的变量来接收。但是,后台却往往是肆意返回各种类型的数据。究其原因,大多解释为有的数据不便于转换为字符串类型,于是返回的数据都是各种类型。这导致了以下问题的出现:
后台返回数值型数据给我们,而我们不清楚数据类型时,使用NSString来接收,则程序执赋值代码的时候,有可能崩溃,并报错误。
例如:后台返回的json数据是
data:{
peopleNum:12345
price:200
}
其中peopleNum和price均是数值型。
如果执行self.labPeopleNum.text=peopleNum;则会出现崩溃。
报错为:reason: '-[__NSCFNumber rangeOfCharacterFromSet:]:unrecognized selector sent to instance。
类似的情况还有返回NULL数据时,会出现程序崩溃的情况。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京酷我科技有限公司,未经北京酷我科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711186128.1/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置