達內(nèi)2017unity3d培訓(xùn)隨堂17課件json_第1頁
達內(nèi)2017unity3d培訓(xùn)隨堂17課件json_第2頁
達內(nèi)2017unity3d培訓(xùn)隨堂17課件json_第3頁
達內(nèi)2017unity3d培訓(xùn)隨堂17課件json_第4頁
達內(nèi)2017unity3d培訓(xùn)隨堂17課件json_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、unity3dJSONJSON 介紹JSON 語法JSON 結(jié)構(gòu)LitJson介紹Json生成、解析JSON 介紹JSONJSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個子集。 JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C, C+, C#, Java, JavaScript, Perl, Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。 易于人閱讀和編寫,同時也易于機器解析和生

2、成(網(wǎng)絡(luò)傳輸速度)。JSON 語法JSON 語法JSON 語法是 JavaScript 對象表示語法的子集。數(shù)據(jù)在名稱/值對中數(shù)據(jù)由逗號分隔花括號保存對象方括號保存數(shù)組JSON 語法JSON 名稱/值對JSON 數(shù)據(jù)的書寫格式是:名稱/值對。名稱/值對組合中的名稱寫在前面(在雙引號中),值對寫在后面(同樣在雙引號中),中間用冒號隔開:firstName:“Name這很容易理解,等價于這條 JavaScript 語句:firstName=NameJSON 語法JSON 值JSON 值可以是:數(shù)字(整數(shù)或浮點數(shù))字符串(在雙引號中)邏輯值(true 或 false)數(shù)組(在方括號中)對象(在花括號

3、中)nullJSON 結(jié)構(gòu)JSON 結(jié)構(gòu)JSON 結(jié)構(gòu)有兩種結(jié)構(gòu)1、對象:對象在js中表示為“”括起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 key:value,key:value,.的鍵值對的結(jié)構(gòu),在面向?qū)ο蟮恼Z言中,key為對象的屬性,value為對應(yīng)的屬性值,所以很容易理解,取值方法為 對象.key 獲取屬性值,這個屬性值的類型可以是 數(shù)字、字符串、數(shù)組、對象幾種。JSON 結(jié)構(gòu)2、數(shù)組:數(shù)組在js中是中括號“”括起來的內(nèi)容,數(shù)據(jù)結(jié)構(gòu)為 “c,“unity,“mono,.,取值方式和所有語言中一樣,使用索引獲取,字段值的類型可以是 數(shù)字、字符串、數(shù)組、對象幾種。經(jīng)過對象、數(shù)組2種結(jié)構(gòu)就可以組合成復(fù)雜的數(shù)據(jù)結(jié)

4、構(gòu)了。JSON 結(jié)構(gòu)Json對象name:張三,lv:1,job:法師,exp:1.1復(fù)合Json對象name:李四,info:lv:2,job:戰(zhàn)士,exp:2.2Json數(shù)組name:張三,lv:1,job:法師,exp:1.1,name:李四,lv:2,job:戰(zhàn)士,exp:2.2LitJson介紹LitJson介紹LitJson是一個開源項目,比較小巧輕便,安裝也很簡單,在Unity里只需要把LitJson.dll放到Plugins文件夾下,并在代碼的最開頭添加 “Using LitJson”就可以了。簡單來說,LitJson的用途是實現(xiàn)Json和代碼數(shù)據(jù)之間的轉(zhuǎn)換,一般用于從服務(wù)器請

5、求數(shù)據(jù),得到返回的Json后進行轉(zhuǎn)換從而在代碼里可以訪問。Json生成、解析生成Json對象JsonWriter writer = new JsonWriter(); /創(chuàng)建json對象writer.WriteObjectStart();/開始寫入對象writer.WritePropertyName(name);/寫入鍵writer.Write(張三);/寫入值writer.WritePropertyName(lv);writer.Write(1);writer.WriteObjectEnd();/結(jié)束寫入對象生成json對象name:張三,lv:1,job:法師,exp:1.1LitJson

6、生成Json對象JsonData data = new JsonData();dataname = 張三;datalv = 1;datajob = 法師;dataexp = 1.1;生成json對象name:張三,lv:1,job:法師,exp:1.1LitJson解析Json對象JsonData data = JsonMapper.ToObject(json對象);name = dataname.ToString();lv = int.Parse(datalv.ToString();job = datajob.ToString();exp = float.Parse(dataexp.ToSt

7、ring();Json生成、解析練習(xí)生成json對象,并解析 name:王五,lv:3,job:騎士,exp:3.3 2. 生成復(fù)合json對象,并解析 name:李四,info:lv:2,job:戰(zhàn)士,exp:2.2LitJson解析Json復(fù)合對象JsonData data = JsonMapper.ToObject(json對象);name = dataname.ToString();lv = int.Parse(datainfolv.ToString();job = datainfojob.ToString();exp = float.Parse(datainfoexp.ToStrin

8、g();生成Json數(shù)組JsonWriter writer = new JsonWriter();writer.WriteArrayStart();writer.Write(張三);writer.Write(1);writer.Write(法師);writer.Write(1.1);writer.WriteArrayEnd();生成json數(shù)組張三,1,法師,1.1Json生成、解析3. 生成json數(shù)組 張三,1,法師,1.1name:張三,lv:1,job:法師,exp:1.1,name:李四,lv:2,job:戰(zhàn)士,exp:2.2name:李四,info:lv:2,job:戰(zhàn)士,exp:2.2LitJson解析Json數(shù)組JsonData data = JsonMapper.ToObject(json數(shù)組);name = data0name.ToString();lv = int.Parse(data0lv.ToString();job = data1job.ToString();exp = float.Parse(data1exp.ToString();Json生成、解析練習(xí)生成以下json并解

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論