[發(fā)明專利]一種iOS中數據正向解析方法有效
| 申請?zhí)枺?/td> | 201711185374.5 | 申請日: | 2017-11-23 |
| 公開(公告)號: | CN107943483B | 公開(公告)日: | 2023-03-24 |
| 發(fā)明(設計)人: | 邱揚 | 申請(專利權)人: | 北京酷我科技有限公司 |
| 主分類號: | G06F8/41 | 分類號: | G06F8/41 |
| 代理公司: | 北京國標律師事務所 11753 | 代理人: | 姚克楓 |
| 地址: | 100080 北京市海淀區(qū)農大*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 ios 數據 正向 解析 方法 | ||
本發(fā)明涉及一種iOS中數據正向解析方法,包括如下步驟:步驟1,接收輸入的數據;步驟2,接收指定的要轉換的類;步驟3,對類進行正向解析處理,得到類解析信息;步驟4,讀取預設協(xié)議;步驟5,根據類解析信息、預設協(xié)議,產生類解析map;步驟6,根據類解析信息產生對象;步驟7,開始解析數據。本發(fā)明,能自動的對數據類型、類、屬性、變量、對象類型給予解析,算法統(tǒng)一性好,流程統(tǒng)一,解析準確度高,適于統(tǒng)一、標準化的完成正向解析。
技術領域
本發(fā)明涉及iOS數據解析技術領域,具體說是一種iOS中數據正向解析方法。
背景技術
在iOS開發(fā)中,基本上都需要進行客戶端和服務端的數據交互(數據傳輸),其中:
客戶端作為前臺,服務端作為后臺,
客戶端會向服務端發(fā)出request請求,此時,服務端會向客戶端提供(返回)必要的數據(即response)。
通常,從服務端獲取的數據為JSON數據(JavaScript Object Notation)。JSON數據是一種輕量級的數據交換格式,采用完全獨立于語言的文本格式,這些特性使其成為理想的數據交換語言。
JSON建構于兩種結構:
1. “名稱/值”對的集合(A collection of name/value pairs)。不同的語言中,它被理解為對象(object),記錄(record),結構(struct),字典(dictionary),哈希表(hashtable),有鍵列表(keyed list),或者關聯(lián)數組 (associative array)。
2. 值的有序列表(An ordered list of values)。在大部分語言中,它被理解為數組(array)。
客戶端中的APP,在從服務端請求(獲取)到所需JSON數據時,并不能直接使用這些數據,還需要轉換為程序代碼可認、可處理的數據類型,這一過程稱為數據正向解析。
客戶端中的APP,將需要保存的數據發(fā)送給服務端時,則需要數據反向解析,提供給服務端直接可處理的JSON數據。
在現有技術中,客戶端需要逐個對字段、屬性對應的數據進行正向或反向解析,不但操作繁瑣,代碼量也相當大,容易出現錯誤,不利于提高開發(fā)效率。不統(tǒng)一的處理流程極易帶來難以發(fā)現的BUG,不利于后期對APP的維護和糾錯。
另外,開發(fā)人員一般希望后臺都返回字符串,這樣可以使用諸如NSString *類型的變量來接收。但是,后臺卻往往是肆意返回各種類型的數據。究其原因,大多解釋為有的數據不便于轉換為字符串類型,于是返回的數據都是各種類型。這導致了以下問題的出現:
后臺返回數值型數據給我們,而我們不清楚數據類型時,使用NSString來接收,則程序執(zhí)賦值代碼的時候,有可能崩潰,并報錯誤。
例如:后臺返回的json數據是
data:{
peopleNum:12345
price:200
}
其中peopleNum和price均是數值型。
如果執(zhí)行self.labPeopleNum.text=peopleNum;則會出現崩潰。
報錯為:reason: '-[__NSCFNumber rangeOfCharacterFromSet:]:unrecognized selector sent to instance。
類似的情況還有返回NULL數據時,會出現程序崩潰的情況。
發(fā)明內容
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京酷我科技有限公司,未經北京酷我科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201711185374.5/2.html,轉載請聲明來源鉆瓜專利網。
- 數據顯示系統(tǒng)、數據中繼設備、數據中繼方法、數據系統(tǒng)、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發(fā)送方法、數據發(fā)送系統(tǒng)、數據發(fā)送裝置以及數據結構
- 數據顯示系統(tǒng)、數據中繼設備、數據中繼方法及數據系統(tǒng)
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發(fā)送和數據接收設備、數據發(fā)送和數據接收方法
- 數據發(fā)送裝置、數據接收裝置、數據收發(fā)系統(tǒng)、數據發(fā)送方法、數據接收方法和數據收發(fā)方法
- 數據發(fā)送方法、數據再現方法、數據發(fā)送裝置及數據再現裝置
- 數據發(fā)送方法、數據再現方法、數據發(fā)送裝置及數據再現裝置





