1、使用动态库文件(即LitJson.dll)
public static List<ItemData> LoadJson()
{
List<ItemData> list = new List<ItemData>();
var path = Application.streamingAssetsPath + "/Data/Json/Error.json";
string file = File.ReadAllText(path);
JsonData data = JsonMapper.ToObject(file);
var jsons = data["ErrorDatas"];
for (int i = 0; i < jsons.Count; i++)
{
ItemData item = new ItemData();
item._errorType = jsons[i]["_errorType"].ToString();
item._errorName = jsons[i]["_errorName"].ToString();
item._errorImg = jsons[i]["_errorImg"].ToString();
item._errorClip = jsons[i]["_errorClip"].ToString();
list.Add(item);
}
return list;
}
2、使用Unity自带的
public static void JsonReader()
{
string str = File.ReadAllText(Application.streamingAssetsPath + "/Json/Item.json");
ItemList list = JsonUtility.FromJson<ItemList>(str);
foreach (var item in list.Weapon)
{
Debug.Log(item.Name);
Debug.Log(item.Description);
Debug.Log(item.Sprite);
Debug.Log(item.BuyPrice);
Debug.Log(item.SellPrice);
Debug.Log(item.Quality);
}
}
[Serializable]
public class ItemList
{
public List<Item> Weapon;//这里列表的名字必须和Json文件的名字一样
}
[Serializable]
public class Item
{
public string Name;
public string Description;
public string Sprite;
public string BuyPrice;
public string SellPrice;
public string Quality;
}
![这里列表的名字必须和Json文件的名字一样(https://img-blog.csdnimg.cn/20210225102749689.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM5ODcyMjcw,size_16,color_FFFFFF,t_70#pic_center)