discuz!cms
japan50成熟乱子,我的小后妈韩剧高清观看,99re这里只有精品大香伊
匯寶盆 > 免費分享區(qū) > CG教程 > Unity > LitJson插件介紹
LitJson插件介紹

資源買買提

資源數(shù):99個

目錄CONTENTS

一、LitJson插件介紹

在線預覽PREVIEW

LitJson插件介紹

LitJson插件介紹

LitJson是一個開源項目,比較小巧輕便,安裝也很簡單,在Unity里只需要把LitJson.dll放到Plugins文件夾下,并在代碼的最開頭添加 “Using LitJson”就可以了。簡單來說,LitJson的用途是實現(xiàn)Json和代碼數(shù)據(jù)之間的轉(zhuǎn)換,一般用于從服務(wù)器請求數(shù)據(jù),得到返回的Json后進行轉(zhuǎn)換從而在代碼里可以訪問。


關(guān)于和服務(wù)器數(shù)據(jù)之間的轉(zhuǎn)換在此就不再贅述,官網(wǎng)以及一些博客里已有涉及,而且也比較詳細了。

這里,主要談一下LitJson的其他用途。

想象一個場景,你需要顯示一個家庭信息的表格,這個表格的每一行代表了你的一個家人的名字、年齡、手機號碼和住址等信息。因為這個信息不大,用數(shù)據(jù)庫實在是大材小用,而且也很麻煩。

我們可以用一個數(shù)據(jù)結(jié)構(gòu)來在代碼里表示每個家人的信息:


1. public class FamilyInfo {  

2.     public string name;  

3.     public int age;  

4.     public string tellphone;  

5.     public string address;  

6. }  

然后用一個List來表示家庭信息表:

1. public class FamilyList {  

2.     public List<FamilyInfo> family_list;  

3. }  

最后,打印信息:

1. private void DisplayFamilyList(FamilyList familyList) {  

2.     if (familyList == nullreturn;  

3.           

4.     foreach (FamilyInfo info in familyList.family_list) {  

5.         Debug.Log("Name:" + info.name + " Age:" + info.age + " Tel:" + info.tellphone + " Addr:" + info.address);  

6.     }  

7. }  

準備工作都已經(jīng)做好,那么數(shù)據(jù)到底在什么時候初始化呢?

正如前面所說,我們把信息存成一個表格,并保存為txt格式。注意,為了能使用LitJson解析,txt中必須使用Json格式。

family.txt如下:

1. {  

2.     "family_list": [  

3.         {  

4.             "name" : "candycat",  

5.             "age" : 21,  

6.             "tellphone" : "xxx",  

7.             "address" : "xxx"  

8.         },  

9.         {  

10.             "name" : "candycat#",  

11.             "age" : 22,  

12.             "tellphone" : "xxx",  

13.             "address" : "xxx"  

14.         },  

15.         {  

16.             "name" : "candycat##",  

17.             "age" : 23,  

18.             "tellphone" : "xxx",  

19.             "address" : "xxx"  

20.         }  

21.     ]  

22. }  

代碼如下:

1. using UnityEngine;  

2. using UnityEditor;  

3. using System.Collections;  

4. using System.Collections.Generic;  

5. using LitJson;  

6.   

7. public class FamilyInfo {  

8.     public string name;  

9.     public int age;  

10.     public string tellphone;  

11.     public string address;  

12. }  

13. public class FamilyList {  

14.     public List<FamilyInfo> family_list;  

15. }  

16. public class LitJsonSample : MonoBehaviour {        

17.     public FamilyList m_FamilyList = null;      

18.     // Use this for initialization  

19.     void Start () {  

20.         ReloadFamilyData();            

21.         DisplayFamilyList(m_FamilyList);  

22.     }  

23.       

24.     private void ReloadFamilyData()  

25.     {             

26.         UnityEngine.TextAsset s = Resources.Load("Localize/family"as TextAsset;   

27.         string tmp = s.text;  

28.         m_FamilyList = JsonMapper.ToObject<FamilyList>( tmp );  

29.         if ( JsonMapper.HasInterpretError() )  

30.         {  

31.             Debug.LogWarning( JsonMapper.GetInterpretError() );  

32.         }  

33.     }     

34.     private void DisplayFamilyList(FamilyList familyList) {  

35.         if (familyList == nullreturn;            

36.         foreach (FamilyInfo info in familyList.family_list) {  

37.             Debug.Log("Name:" + info.name + "       Age:" + info.age + "        Tel:" + info.tellphone + "      Addr:" + info.address);  

38.         }  

39.     }  

40. }  

有幾點注意的地方:

· Resources.Load("Localize/family")表示加載family文件,但一定要注意要把family.txt文件放在Resources文件夾下,只有這樣Resources.Load才能夠訪問到,在這個例子里family的絕對路徑為“Resources/Localize/family”。這是因為Resources文件夾是Unity默認的資源文件夾,有著特殊的用途,這里我還不是很了解,以后要深入學習一下;

預覽結(jié)束,完整教程請 購買下載
資源參數(shù)
    教程名稱:LitJson插件介紹 語       言:中文 頁數(shù)/時長: 4頁
    軟件版本: unity 上傳時間:2017/03/10 價格:¥0
    文件格式: .docx 文件大?。?0.3kb
下載

使用說明:

1. 本站所有資源(包括3D模型、CG教程、插件軟件、材質(zhì)貼圖、工程文件等)由設(shè)計師上傳,僅供學習、參考,請勿用于非法用途。

2. 本站付費類資源第一次需有償下載,重復下載不再收費。

3. 若出現(xiàn)3d模型類資源打不開,請確認您的軟件版本是否過低。

4. 本站歡迎設(shè)計師注冊開店,上傳作品進行交流、交易。

5. 如在使用過程中,遇到任何問題,請下拉頁面至評論區(qū)留言,或咨詢QQ:2353487910。

關(guān)鍵詞:

您還未登錄

全部評論: 0