unity Resources文件夹中有一个json表,txt格式的
解析下图的表:
场景中摄像机上挂一个脚本:
游戏一运行,初始化加载数据:
using UnityEngine;
using System.Collections;
using LitJson;
public class test : MonoBehaviour {
// Use this for initialization
void Start () {
TextAsset aaa = (TextAsset)Resources.Load("info", typeof(TextAsset));//从表中加载数据
string json = aaa.text;
LitJson.JsonData jarr = LitJson.JsonMapper.ToObject(json);
TotalData.resetPersonData(jarr);
print(TotalData.personData.getPersonInfoForID("1").name);
}
// Update is called once per frame
void Update () {
}
}
using UnityEngine;
using System.Collections;
using LitJson;
public class TotalData {
public static PersonData personData = new PersonData();
public static void resetPersonData( JsonData data) //重新设定URL表
{
personData.resetInfo(data);
}
}
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class PersonData {
public Dictionary<string, PersonDataBean> persons = new Dictionary<string, PersonDataBean>();
public void resetInfo(LitJson.JsonData data)
{
Debug.Log(data.Count);
for (int i = 0; i < 3; i++)
{
PersonDataBean info = new PersonDataBean();
info.resetInfo(data[i]);
if (!persons.ContainsKey(data[i]["Id"].ToString()))
{
persons.Add(data[i]["Id"].ToString(), info);
}
}
}
public PersonDataBean getPersonInfoForID(string id) //根据id取出一条信息
{
PersonDataBean value;
if(persons.ContainsKey(id))
{
value = persons[id];
return value;
}
return null;
}
}
using UnityEngine;
using System.Collections;
public class PersonDataBean {
public string id;
public string name;
public string age;
public void resetInfo(LitJson.JsonData data)
{
id = data["Id"].ToString();
name = data["name"].ToString();
age = data["age"].ToString();
}
}
运行场景,打印结果:hunk xu