国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種多層嵌套的json格式數(shù)據(jù)的命名解析方法

      文檔序號(hào):10512151閱讀:700來源:國(guó)知局
      一種多層嵌套的json格式數(shù)據(jù)的命名解析方法
      【專利摘要】一種n層嵌套的json格式數(shù)據(jù)的命名解析方法,包括以下步驟:首先,以n層嵌套的json格式數(shù)據(jù)為基礎(chǔ)建立數(shù)據(jù)源;然后,以鍵值對(duì)為最小單元由外而內(nèi)依次解析數(shù)據(jù);最后,判斷是否滿足終止條件,滿足終止條件則生成的string為解析得到的非嵌套的json格式數(shù)據(jù)。本發(fā)明提供一種在保證數(shù)據(jù)交換和解析準(zhǔn)確性的基礎(chǔ)上,提高數(shù)據(jù)交換和解析效率的n層嵌套的json格式數(shù)據(jù)的命名解析方法。
      【專利說明】
      一種多層嵌套的json格式數(shù)據(jù)的命名解析方法
      技術(shù)領(lǐng)域
      [0001] 本發(fā)明涉及一種通信網(wǎng)絡(luò)信息、網(wǎng)絡(luò)規(guī)劃與通信協(xié)議等應(yīng)用領(lǐng)域,尤其涉及的是 一種多層嵌套的json格式數(shù)據(jù)的命名解析方法。
      【背景技術(shù)】
      [0002] 隨著信息化工業(yè)化的快熟發(fā)展,企業(yè)的信息化水平不斷提高,信息交換的不暢通 也隨之成為信息化建設(shè)的一個(gè)重大瓶頸。數(shù)據(jù)交換作為各種計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)用的重要組成部 分、已經(jīng)逐漸成為解決"信息孤島"現(xiàn)象的主要手段、也是當(dāng)前信息化建設(shè)必須面對(duì)的難題。 隨著Web技術(shù)的飛速發(fā)展,基于B/S架構(gòu)的應(yīng)用越來越豐富,客戶端和服務(wù)器端數(shù)據(jù)交換、數(shù) 據(jù)解析的方式也越來越多。在傳統(tǒng)的工程應(yīng)用中,客戶端和服務(wù)器之間數(shù)據(jù)交換和數(shù)據(jù)解 析的傳統(tǒng)方式,交換和解析的效率較低,嚴(yán)重的影響基于B/S架構(gòu)系統(tǒng)的系統(tǒng)效果和用戶體 驗(yàn),人們?cè)诹η髮ふ乙环N數(shù)據(jù)傳輸開銷小的數(shù)據(jù)交換格式,以提高數(shù)據(jù)傳輸?shù)男剩允沟?應(yīng)用程序得到高效的執(zhí)行,用戶的使用體驗(yàn)更好。
      [0003] json(JavaScript Object Notation)是一種輕量級(jí)的數(shù)據(jù)交換格式是基于 ECMAScript的一個(gè)子集。json采用完全獨(dú)立于語言的文本格式,但是也使用包括C、C++、C#、 Java、JavaScript、Perl、Python等類似于C語言家族的習(xí)慣。這些特性使json成為理想的數(shù) 據(jù)交換語言。易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成,大大提升網(wǎng)絡(luò)傳輸速率。 json格式數(shù)據(jù)的數(shù)據(jù)格式比較簡(jiǎn)單,易于讀寫,格式經(jīng)過壓縮,占用帶寬比較小,同時(shí)支持 多種語言,便于服務(wù)器端解析。對(duì)于大多數(shù)Web應(yīng)用來說,根本不需要復(fù)雜的XML來傳輸數(shù) 據(jù),json數(shù)據(jù)交換格式提供了更好的簡(jiǎn)單性和靈活性。
      [0004] XML擴(kuò)展標(biāo)記語言用于標(biāo)記數(shù)據(jù)、定義數(shù)據(jù)類型,是一種允許用戶對(duì)自己的標(biāo)記語 言進(jìn)行定義的源語言。XML最大的優(yōu)勢(shì)在于對(duì)各種數(shù)據(jù)的管理,任何系統(tǒng)都可以通過XML解 析器來讀取XML數(shù)據(jù),因此它的數(shù)據(jù)可以通行各處,而不用擔(dān)心系統(tǒng)不支持的問題。由于XML 具有很好跨平臺(tái)性和通用性,逐漸作為中間媒質(zhì)來完成數(shù)據(jù)交換和共享,將用于異構(gòu)數(shù)據(jù) 庫數(shù)據(jù)交換,較好地克服傳統(tǒng)數(shù)據(jù)交換方式的缺點(diǎn)。然而,XML文件比較龐大,文件格式比較 復(fù)雜,傳輸時(shí)占用帶寬比較大,服務(wù)器端和客戶端都需要花費(fèi)大量代碼來解析XML,導(dǎo)致服 務(wù)器端和客戶端代碼變得異常復(fù)雜且不易維護(hù),客戶端和服務(wù)器解析XML要花費(fèi)較多的資 源和時(shí)間。特別是,在不同瀏覽器之間解析XML的方式不一致,需要重復(fù)編寫很多代碼,開發(fā) 效率低下。
      [0005] 因此,目前的數(shù)據(jù)解析技術(shù)存在著很多缺陷,需要我們改進(jìn)。

      【發(fā)明內(nèi)容】

      [0006] 為了克服已有命名解析方法的數(shù)據(jù)交換和解析效率較低的不足,本發(fā)明提供一種 在保證數(shù)據(jù)交換和解析準(zhǔn)確性的基礎(chǔ)上提高數(shù)據(jù)交換和解析效率的多層嵌套的json格式 數(shù)據(jù)的命名解析方法。
      [0007] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:
      [0008] 一種多層嵌套的json格式數(shù)據(jù)的命名解析方法,所述命名解析方法包括以下步 驟:
      [0009] 1)參數(shù)初始化:設(shè)定一組多層嵌套的json格式數(shù)據(jù)獻(xiàn)=:丨:丨…, Νωηβλ(η\}ι: {NamekHl: valued,···,Name1^ : valued},-··}},···,Name((n :{···,Name^}1: : va&4r ·-, : Η,其中 __ 示json格式數(shù)據(jù)鍵值·對(duì)應(yīng)的值,n表示jS0n格式數(shù)據(jù)嵌套的層數(shù),m表示第 n層對(duì)應(yīng)的 j son格式數(shù)據(jù)的組數(shù),k,p,q,1,λ用于標(biāo)識(shí)區(qū)分j son格式數(shù)據(jù)的鍵和值且{k,p,q,l,AeN+| 0>k>p>q>l>A};
      [0010] 2)解析和命名json格式數(shù)據(jù),過程如下:
      [0011] 2.1)判斷str是否為json格式數(shù)據(jù),如果str是json格式數(shù)據(jù),則進(jìn)入步驟2.2),否 則轉(zhuǎn)入步驟2.6);
      [0012] 2.2)設(shè)定11=1,111=1氺=1,取]_8〇11格式數(shù)據(jù)一組鍵值對(duì),鍵值為勤此=從/膨),", 值為= Vfif&e:;
      [0013] 2.3)判斷k>A是否成立,如果條件成立,進(jìn)入步驟2.4),否則轉(zhuǎn)入步驟2.8);
      [0014] 2.4)判斷value是否為json格式數(shù)據(jù),如果條件成立,進(jìn)入步驟2.5),否則轉(zhuǎn)入步 驟 2.6);
      [0015] 2 · 5 )以w/?4 ·作為新的j s ο η格式數(shù)據(jù),鍵值為,值為,將 施7?心和最二"拼接形成施we =施測(cè)
      [0016] 2.6)將該鍵值和值寫入新的json格式數(shù)據(jù)string中,進(jìn)入步驟2.7);
      [0017] 2· 7)m=m+l,k=k+l,取json格式數(shù)據(jù),鍵值為施腿>,#謂<;二丨丨,值為= ra/Hei二 轉(zhuǎn)入步驟2.3),其中string為生成的新的無嵌套的json格式數(shù)據(jù);
      [00?8] 2.8)解析結(jié)束,生成新的無嵌套的json格式數(shù)據(jù)string為得到的結(jié)果。
      [0019]本發(fā)明的技術(shù)構(gòu)思為:首先,以η層嵌套的json格式數(shù)據(jù)為基礎(chǔ)建立數(shù)據(jù)源;然后, 以鍵值對(duì)為最小單元由外而內(nèi)依次解析數(shù)據(jù);最后,判斷是否滿足終止條件,滿足終止條件 則生成的string為解析得到的非嵌套的json格式數(shù)據(jù)。
      [0020] 本發(fā)明的有益效果為:在保證數(shù)據(jù)交換和解析準(zhǔn)確性的基礎(chǔ)上、提高數(shù)據(jù)交換和 解析效率。
      【附圖說明】
      [0021] 圖1是一種η層嵌套的json格式數(shù)據(jù)的命名解析方法示意圖。
      【具體實(shí)施方式】
      [0022] 下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。
      [0023]參照?qǐng)D1,一種多層嵌套的json格式數(shù)據(jù)的命名解析方法,包括以下步驟:1)參數(shù) 初始化:設(shè)定一組多層嵌套的json格式數(shù)據(jù)勸··=.丨: |;ν<7〃κ·^ :丨…, Name^\)X: {NameknX: value^, , Nam e1^ : ναΙηβζη},···}},···,ΝαηιβΙ: { ,Ναιηβ^ : {池騰: w/狀^,…,池 ?: v油e〗,"}}},其中施表示j son格式數(shù)據(jù)的鍵值,w/wei表 示json格式數(shù)據(jù)鍵值A(chǔ)fenei對(duì)應(yīng)的值,η表示json格式數(shù)據(jù)嵌套的層數(shù),m表示第η層對(duì)應(yīng)的 j son格式數(shù)據(jù)的組數(shù),k,p,q,1,λ用于標(biāo)識(shí)區(qū)分j son格式數(shù)據(jù)的鍵和值且{k,p,q,l,AeN+| 0<k<p<q<l<A};
      [0024] 2)解析和命名json格式數(shù)據(jù),過程如下:
      [0025] 2.1)判斷str是否為json格式數(shù)據(jù),如果str是json格式數(shù)據(jù),則進(jìn)入步驟2.2),否 則轉(zhuǎn)入步驟2.6),如圖1中判斷str是否為json格式數(shù)據(jù);
      [0026] 2.2)設(shè)定n = l,m=l,k = l,取json格式數(shù)據(jù)一組鍵值對(duì),鍵值為, \M.% vaiue = valueknm ;
      [0027] 2.3)判斷k<A是否成立,如果條件成立,進(jìn)入步驟2.4),否則轉(zhuǎn)入步驟2.8)如圖1 中判斷條件A是否成立;
      [0028] 2.4)2.4)判斷value是否為json格式數(shù)據(jù),如果條件成立,進(jìn)入步驟2.5),否則轉(zhuǎn) 入步驟2.6 ),如圖1中判斷條件B是否成立;
      [0029] 2 · 5)以v-ei,作為新的json格式數(shù)據(jù),鍵值為#_e(=1)m,值為να/we^,,,,將 勤;和油贓^?拼接形成施膨=施騰丨 >,,恭 1,拼接形成鍵值;
      [0030] 2.6)將該鍵值和值寫入新的json格式數(shù)據(jù)string中,進(jìn)入步驟2.7),如圖1中寫入 新的j s on格式數(shù)據(jù)s tr i ng;
      [0031 ] 2.7)m=m+l,k=k+l,取json格式數(shù)據(jù),鍵值為池騰=偷贈(zèng)二?,值為va/?e = να/狀二1}, 轉(zhuǎn)入步驟2.3 ),其中string為生成的新的無嵌套的json格式數(shù)據(jù),如圖1中m與k分別加1,拼 接形成新鍵值;
      [0032] 2.8)解析結(jié)束,生成新的無嵌套的json格式數(shù)據(jù)string為得到的結(jié)果。
      [0033]本實(shí)施例以字符串.V"- = (義:.丨八'訓(xùn)丨:"/;i〃7gr/;ow",;V訓(xùn): "Λ.Λα喂 iViwg : "知訴嘆"}為實(shí)施例,一種多層嵌套的j son格式數(shù)據(jù)的命名解析方法,其中包含以 下步驟:
      [0034] 1)參數(shù)初始化:設(shè)定一組η層嵌套的json格式數(shù)據(jù) sir = ·\.Ναη?(,[η : {Name^ : "hangzhou" , Name ',: :''shanghai" )., Nanuj~-. : ''beijing" j- 嫩丨t、. .、羅腕、.摘細(xì)匕.表不j s ο n格式數(shù)據(jù)的鍵值,〃 h a n g h z o u 〃、" 值;
      [0035] 2)解析和命名json格式數(shù)據(jù):
      [0036] 2· 1)判斷str是否為json格式數(shù)據(jù),如果str是json格式數(shù)據(jù),則進(jìn)入步驟2 · 2),否 則轉(zhuǎn)入步驟2.6);
      [0037] 2.2)設(shè)定n = l,m=l,k = l,取json格式數(shù)據(jù)一組鍵值對(duì),鍵值為A^w=,他皿·匕", 值為 va/tte = ;
      [0038] 2.3)判斷k<A是否成立,如果條件成立,進(jìn)入步驟2.4),否則轉(zhuǎn)入步驟2.8);
      [0039] 2.4)判斷value是否為json格式數(shù)據(jù),如果條件成立,進(jìn)入步驟2.5),否則轉(zhuǎn)入步 驟 2.6);
      [0040] 2 · 5 )以作為新的j S ο η格式數(shù)據(jù),鍵值為,值為να/we^^,將 燦騰丨:"和他服拼接形成施嫌=論服^丨卜,轉(zhuǎn)入步驟2 ·
      [0041 ] 2.6)將該鍵值和值寫入新的json格式數(shù)據(jù)string中,進(jìn)入步驟2.7);
      [0042] 2.7)m=m+l,k=k+l,取json格式數(shù)據(jù),鍵值為她!郵=腸服:二丨,值 為 m'iue = value:二+?、, 轉(zhuǎn)入步驟2.3),其中string為生成的新的無嵌套的json格式數(shù)據(jù);
      [0043] 2.8)解析結(jié)束,生成新的無嵌套的json格式數(shù)據(jù) stHng = f、Namc'r,Namc:,\ :"ha!'igzhmi\ N(丨me\rN(丨me.:,:shanghd^ 的結(jié)果。
      [0044] 以上闡述的是本發(fā)明給出的一個(gè)實(shí)施例表現(xiàn)出的優(yōu)良效果,顯然本發(fā)明不僅適合 上述實(shí)施例,在不偏離本發(fā)明基本精神及不超出本發(fā)明實(shí)質(zhì)內(nèi)容所涉及內(nèi)容的前提下可對(duì) 其做種種變化加以實(shí)施。
      【主權(quán)項(xiàng)】
      1.一種多層嵌套的json格式數(shù)據(jù)的命名解析方法,其特征在于:所述命名解析方法包 括以下步驟: 1) 參數(shù)初始化:設(shè)定一組多層嵌套的json格式數(shù)據(jù)對(duì)r = {A/ameh : : Name1^^ :{NamelnX \ vaIuel^---,NameIl'mi : vahie1^} ,}},· ,Namel, : { ,Name^ n : {他騰^ : v幽働騰,^ : w/此丄丨}},.其中,勸腿4:表示json格式數(shù)據(jù)的鍵值,va/we:,表 示json格式數(shù)據(jù)鍵值iVawe:對(duì)應(yīng)的值,η表示json格式數(shù)據(jù)嵌套的層數(shù),m表示第η層對(duì)應(yīng)的 j son格式數(shù)據(jù)的組數(shù),k,p,q,1,λ用于標(biāo)識(shí)區(qū)分j son格式數(shù)據(jù)的鍵和值且{k,p,q,l,AeN+| 0<k<p<q<l<A}; 2) 解析和命名json格式數(shù)據(jù),過程如下: 2.1) 判斷str是否為json格式數(shù)據(jù),如果str是json格式數(shù)據(jù),則進(jìn)入步驟2.2),否則轉(zhuǎn) 入步驟2.6); 2.2) 設(shè)定η = 1,m = 1,k = 1,取j son格式數(shù)據(jù)一組鍵值對(duì),鍵值為·輯e =油/<",.值為 value = value'll ; 2.3) 判斷k<A是否成立,如果條件成立,進(jìn)入步驟2.4),否則轉(zhuǎn)入步驟2.8); 2.4) 判斷value是否為json格式數(shù)據(jù),如果條件成立,進(jìn)入步驟2.5),否則轉(zhuǎn)入步驟2.6); 2.5) 以vo/m匕作為新的j son格式數(shù)據(jù),鍵值為值為va/wef^,,將和 她拼接形成癒_ =鳩謝4胸,轉(zhuǎn)入步驟2 · 3); 2.6) 將該鍵值和值寫入新的json格式數(shù)據(jù)string中,進(jìn)入步驟2.7); 2 ·7)m=m+l,k = k+l,取json格式數(shù)據(jù),鍵值為施縱=施服$+1),值為 va/?e = va/?e=+1>, 轉(zhuǎn)入步驟2.3),其中string為生成的新的無嵌套的json格式數(shù)據(jù); 2.8)解析結(jié)束,生成新的無嵌套的json格式數(shù)據(jù)string為得到的結(jié)果。
      【文檔編號(hào)】G06F17/30GK105868167SQ201610140325
      【公開日】2016年8月17日
      【申請(qǐng)日】2016年3月11日
      【發(fā)明人】張貴軍, 陳凱, 俞旭峰, 姚俊, 丁情, 徐東偉, 李章維
      【申請(qǐng)人】浙江工業(yè)大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1