1. 程式人生 > >unity使用SimpleJSON讀取json資料轉存程VO存入list內

unity使用SimpleJSON讀取json資料轉存程VO存入list內

</pre>這幾天做專案用到了這方面的東西,技術說讓把json資料做成vo存入list裡,所以就研究了研究。<p></p><p>首先寫一個簡單的Json格式的文件</p><p><pre name="code" class="html">{ "luyin":[{
		"id":"1",
		"name":"NO1"
	    },
{
	"id":"2",
	"name":"NO2"
},
{
	"id":"3",
	"name":"NO3"
}]
}

然後根據json裡的欄位寫一個簡單VO類
using UnityEngine;
using System.Collections;

public class JsonVo
{
    public string id;
    public string name;

}
然後寫一個讀取json資料,將json資料存入VO,並且Add到list裡的類
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using SimpleJSON;

public class Jsonread {

  public static List<JsonVo>JsovF()
    {

        List<JsonOv> jsonVo = new List<JsonVo>();
        TextAsset txtobj = Resources.Load("shengyin") as TextAsset;
        JSONNode json = JSONNode.Parse(txtobj.text);
        JSONNode T = json[0];
        for (int i = 0; i < T.Count;i++)
        {
            JsonVo Vo = new JsonOv();
            Vo.id = T[i]["id"];
            Vo.name = T[i]["name"];
            jsonVo.Add(Vo);
        }
            return jsonVo;
    }
}

OK這樣只要在外部或者Jsonread這個類裡的靜態方法就可以獲取儲存json資料的list了。

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class duqu : MonoBehaviour {

	// Use this for initialization
	void Start () {
        List<JsonVo> json = jsonread.JsovF();
       for(int i=0;i<json.Count;i++)
       {
           Debug.Log(json[i].id);
           Debug.Log(json[i].name);
       }
	
	}
	
	// Update is called once per frame
	void Update () {
	
	}
}


如圖挨個輸出了

simpleJSON是unity的外掛很常見,需要的可以去網上找一下,為了試驗,程式碼有些不規範,後來也沒改,現就這樣了。= =