unity讀取Json文件

unity讀取Json文件

最近做項目的時候,因爲物品太多,而且每個物品的信息都類似,所以我們沒有選擇一個一個賦予信息 ,而是選擇使用加載Json數據表的方法進行獲取信息。在這裏,我們通過做一個查詢系統來進行演示讀取Json數據表。
1.首先,先創建一個項目,新建四個UI組件,輸入框,按鈕和文字,背景,同時導入Json的引用文件:LitJson
這裏寫圖片描述
2.新建一個StreamingAssets文件夾
這裏寫圖片描述
3.新建一個文本文檔,開始寫數據表,如下格式
這裏寫圖片描述
4.然後另存爲Json文件,設置如下:
這裏寫圖片描述
5.把新建好的json數據文件拖入剛纔的StreamingAssets文件夾裏面,爲了保證json文件的正確性,打開網頁,把裏面的數據複製,找一個檢測json數據的網站,進行數據檢測:
這裏寫圖片描述
這裏寫圖片描述
同時,我們爲了方便,可以生成C#實體類,待會用得上
這裏寫圖片描述
6.新建一個腳本,隨便掛在一個物體上,這裏我掛在攝像機上。腳本代碼如下:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using LitJson;
using System.IO;

public class TestDataItem
{
    /// <summary>
    /// 
    /// </summary>
    public string ID { get; set; }
    /// <summary>
    /// 雕塑
    /// </summary>
    public string Type { get; set; }
    /// <summary>
    /// 滕王閣
    /// </summary>
    public string Name { get; set; }
}

public class Root
{
    /// <summary>
    /// 
    /// </summary>
    public List<TestDataItem> TestData { get; set; }
}
public class JsonText : MonoBehaviour {

    public InputField inputField;//輸入框
    public Text contentText;//文本框

    public void GetJsonInfo()//這個方法給按鈕註冊
    {
        if (inputField.text == "")//輸入框爲空
        {
            contentText.text = "輸入爲空";
        }
        else

        {
            StreamReader streamreader = new StreamReader(Application.dataPath + "/StreamingAssets/Test.json");//讀取數據,轉換成數據流
            JsonReader js = new JsonReader(streamreader);//再轉換成json數據
            Root r = JsonMapper.ToObject<Root>(js);//讀取
            for (int i = 0; i < r.TestData.Count; i++)//遍歷獲取數據
            {
                if (inputField.text == r.TestData[i].ID)
                {
                    contentText.text = "ID號碼:" + r.TestData[i].ID + "  類型:" + r.TestData[i].Type + "  名字:" + r.TestData[i].Name;
                    break;
                }
            }
        }
    }
}

7.這樣,把上面那個方法給按鈕註冊,當我們輸入正確的id,就可以進行簡單的數據讀取了,將複製的實體類也粘貼到自己的腳本里,當然這裏你也可以自己寫json實體類,也就是兩個東西,一個類是具體的單個數組裏面的元素,一個是定義一個整體的鏈表,從我們寫的json數據表就可以看出怎麼寫,格式很重要,錯了一個就讀取不到,所以一定要注意喲。
這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章