陳思釩 張龍強(qiáng) 汪勇
摘要:針對現(xiàn)有洗衣平臺不斷涌現(xiàn)增多,并存在數(shù)據(jù)交換的問題,提出了基于JSON數(shù)據(jù)交換技術(shù)的洗衣平臺。通過XML與JSON兩種不同數(shù)據(jù)交換格式的對比,發(fā)現(xiàn)JSON作為新生格式更適合洗衣平臺的數(shù)據(jù)交換。JSON是JavaScript的一個子集,利用文本和一些大括號表示復(fù)雜的對象和映射,該文利用JSON格式支持的數(shù)據(jù)類型進(jìn)行了洗衣平臺數(shù)據(jù)傳輸?shù)脑O(shè)計,使編碼簡易,開發(fā)效率更高,并且易于維護(hù)。
關(guān)鍵詞:洗衣平臺;JSON;數(shù)據(jù)交換
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2018)21-0001-02
Abstract: Aiming at the increasing number of laundry platforms and the existing problem of data exchange, data exchange technology of a laundry platform based on JSON is put forward. Through the comparison of XML and JSON which are two different data exchange formats, it is found that JSON as a new form is more suitable for data exchange of washing platform. JSON is a subset of JavaScript, using text and some parentheses to express complex objects and mappings. This article uses the data types supported by the JSON format to design the data transmission of the laundry platform, which makes the coding simple, the development efficient, maintenance easier.
Key words: laundry platform;JSON;data exchange
1 背景
互聯(lián)網(wǎng)發(fā)展迅速,影響著人們的生活的各個方面,使人們的生活習(xí)慣和方式發(fā)生巨大的變化。線下業(yè)務(wù)向線上轉(zhuǎn)移更是迎來了一撥大潮。由于傳統(tǒng)的洗衣模式要向新的O2O模式不斷轉(zhuǎn)變,O2O模式下的洗衣平臺可以通過發(fā)布商家店鋪信息,在顧客進(jìn)行線上下單后由人員上門取件,在指定商家清洗干凈后通過物流送回顧客家中。O2O模式下的洗衣平臺需要在客戶端與服務(wù)器之間進(jìn)行數(shù)據(jù)交換,它將面臨參與設(shè)備及終端繁多、信息傳遞網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜、開發(fā)語言種類繁多的問題[1],因此選擇一種合適的數(shù)據(jù)交換格式是有必要的。隨著網(wǎng)上預(yù)約洗衣平臺的不斷擴(kuò)大,數(shù)據(jù)量也會隨著不斷增加,對數(shù)據(jù)在客戶端與服務(wù)器之間進(jìn)行傳輸?shù)男室矊⑹且粋€考驗。
目前,已被人熟知的數(shù)據(jù)交換格式有XML、FSV、Web Service、JSON等。XML和Web Service獨立于語言及平臺,也獲得了快速發(fā)展及完善,但Web Service和XML的使用過程,其在數(shù)據(jù)交換方面存在著的封裝解析實現(xiàn)的復(fù)雜、數(shù)據(jù)的序列化和反序列化效率低等問題越來越明顯,而JSON作為一種輕量級數(shù)據(jù)交換格式,因易于編碼和便于機(jī)器解析的數(shù)據(jù)傳輸序列化機(jī)制而越來越受歡迎。[2]已有許多實驗證明在相同條件下,JSON格式的傳輸效率明顯高于XML格式的傳輸效率,而且隨著數(shù)據(jù)量的增大,兩者之間的差異效果更加突出。因此JSON的出現(xiàn)必將為洗衣平臺中出現(xiàn)的問題帶來可行性的方案。
2 JSON與XML
2.1 JSON簡介
JSON是JavaScript Standard Object Notation的簡稱。JSON是一種基于純文本的數(shù)據(jù)交換格式,不需要處理 XML或 DOM。[3]JSON易于閱讀和編碼,能被支持JavaScript的瀏覽器所解析。在Web數(shù)據(jù)傳輸過程中,JSON是將客戶端頁面顯示的數(shù)據(jù)以文本形式傳遞的,通過將這一組數(shù)據(jù)轉(zhuǎn)化成為一個字符串,然后通過函數(shù)將字符串傳輸?shù)椒?wù)器后臺。
2.2 JSON與XML數(shù)據(jù)交換對比
XML作為一種可擴(kuò)展標(biāo)記語言,不同于JSON將數(shù)據(jù)轉(zhuǎn)化成字符串,它是以結(jié)構(gòu)化的方式來描述表現(xiàn)各種類型的數(shù)據(jù)[2]。XML易于人解析,它的標(biāo)簽是成對出現(xiàn)的而且可以根據(jù)用戶的需要進(jìn)行自定義,并不是固定不變的。 [1]根據(jù)現(xiàn)有研究者對XML和JSON作為數(shù)據(jù)交互格式在web領(lǐng)域上的大量研究,得出下表XML和JSON的比較:
從表1中XML與JSON的對比,可以看出在流行度方面,XML在各廠商的支持下廣泛的使用并且快速完善,而JSON才處于起步狀態(tài)。相比之下,后臺服務(wù)器和客戶端都需要花費大量代碼來解析XML,而JSON格式可以直接被服務(wù)器端代碼使用,簡化了代碼開發(fā)量,避免了使用XML格式所導(dǎo)致的代碼異常復(fù)雜且不易于維護(hù)的問題。
新衣代洗衣平臺作為商家與用戶之間的第三方平臺,數(shù)據(jù)交換在商家與用戶之間的聯(lián)系中具有重要的地位。在洗衣平臺系統(tǒng)的設(shè)計中更希望系統(tǒng)編碼簡單、靈活,而且在今后系統(tǒng)易于維護(hù)。在普通的web應(yīng)用領(lǐng)域中,無論是服務(wù)器端生成或處理XML,還是客戶端解析XML,開發(fā)者經(jīng)常會遇到代碼復(fù)雜和開發(fā)效率低的情況。而相比之下JSON更為清晰且冗余更少些,易于新衣代洗衣平臺的開發(fā)與代碼編寫解析。
新衣代網(wǎng)上預(yù)約洗衣平臺的設(shè)計注重用戶體驗與感受,在用戶全程使用平臺進(jìn)行洗衣時間的預(yù)約的時間內(nèi),讓用戶感受到流暢的畫面與優(yōu)良的畫質(zhì)是平臺系統(tǒng)所需要追求與達(dá)到的目標(biāo)。良好的客戶體驗才能提高客戶的滿意度,提高客戶的回頭率。在洗衣平臺的客戶端,從后臺服務(wù)器傳輸過來的JSON或XML的數(shù)據(jù)將被反序列化才能獲取其中的數(shù)據(jù),進(jìn)而顯示在客戶端頁面上。 [3]有研究者通過一個測試程序分別對JS0N和XML格式數(shù)據(jù)反序列化時間進(jìn)行比較分析后得出,JSON反序列化時間明顯小于XML,這是與JSON和XML本身特殊的結(jié)構(gòu)有相關(guān)聯(lián)系的。采用JSON格式的數(shù)據(jù)極大程度上降低了反序列化時的冗余度,提高了客戶端的響應(yīng)速度,使頁面更新效果更加顯著,提高用戶的體驗感覺。JSON的序列化與反序列化將對象與可傳輸?shù)母袷街g進(jìn)行轉(zhuǎn)換,性能明顯優(yōu)異于XML,必然會更普遍地被運用。
3 基于JSON的洗衣平臺數(shù)據(jù)交換的實現(xiàn)
3.1 采用的主要技術(shù)
Android客戶端:使用Android集成開發(fā)工具Android Studio、JSON數(shù)據(jù)傳輸技術(shù),采用Volley網(wǎng)絡(luò)框架等;
服務(wù)器:采用基于Java的SSH框架數(shù)據(jù)庫開發(fā),并采用JSON技術(shù)開發(fā)移動端訪問接口。
3.2 代碼設(shè)計
1)將字符串封裝成JSON格式,并且將接收到的信息打印出來
2)客戶端請求的封裝
3)對JSON數(shù)據(jù)包進(jìn)行解析
4 結(jié)束語
該文先介紹了XML和JSON這兩種不同數(shù)據(jù)傳輸格式的基本概念,并將XML和JSON兩種格式在每個方面進(jìn)行了對比與分析。通過對比分析,最后得出JSON數(shù)據(jù)格式在web應(yīng)用開發(fā)中具有易于編碼、計算機(jī)處理和傳輸效率高的優(yōu)勢。在此基礎(chǔ)上,該文提出了基于JSON的網(wǎng)上洗衣預(yù)約平臺的數(shù)據(jù)交換。根據(jù)JSON的語法格式和數(shù)據(jù)類型,該文編寫了基于JSON的代碼,運用Java自帶的http進(jìn)行兩者之間的數(shù)據(jù)傳輸,編寫過程中效率較高,減少了解析帶來的復(fù)雜性和兼容性問題,加快了解析的速度,提高了系統(tǒng)開發(fā)中簡便性與靈活性,易于維護(hù)。JSON的簡易靈活必將使其在以后的web應(yīng)用開發(fā)中將占據(jù)一定的地位。
參考文獻(xiàn):
[1] 張耘凡, 柳平增, 馬鴻健, 等. 一種基于JSON的分布式系統(tǒng)架構(gòu)[J]. 中國農(nóng)機(jī)化學(xué)報, 2015(5): 255-257, 266.
[2] 仇小花, 秦栓栓, 邱果, 等. 基于WEB開發(fā)中的XML與JSON數(shù)據(jù)傳輸格式研究[J]. 信息技術(shù)與信息化, 2017(4): 123-125.
[3] 高靜, 段會川. JSON數(shù)據(jù)傳輸效率研究[J]. 計算機(jī)工程與設(shè)計, 2011(7): 2267-2270.
【通聯(lián)編輯:謝媛媛】