litjson.dll上传。。。。
using LitJson;
private List<Item> itemList ; //用来存解析出来的对象
/// <summary>/// 解析文件
/// </summary>
void ParseItemJson()
{
itemList = new List<Item>();
/// <summary>
/// 文本在unity中是textAsset形式
/// </summary>
TextAsset itemText = Resources.Load<TextAsset>("Items"); //写入json文件
string itemJson= itemText.text; //写入json文件文本内容
JsonReader jsonReader = new JsonReader(itemJson);
JsonData jsonData= JsonMapper.ToObject(jsonReader);//核心
foreach (JsonData item in jsonData)
{
JsonData idValue= item["id"];
JsonData nameValue = item["name"];
JsonData typeValue = item["type"];
JsonData qualityvalue = item["quality"];
JsonData descriptionValue = item["description"];
JsonData capacityValue = item["capacity"];
JsonData buyPriceValue = item["buyPrice"];
JsonData sellPriceValue = item["sellPrice"];
JsonData hpValue = item["hp"];
JsonData mpValue = item["mp"];
JsonData spriteValue = item["sprite"];
Item itemObj = new Item
{
ID = int.Parse(idValue + ""),
Name = nameValue + "",
ITType = (ItemType)System.Enum.Parse(typeof(ItemType), typeValue + ""),
IQQuality= (ItemQuality)System.Enum.Parse(typeof(ItemQuality), qualityvalue + ""),//枚举类型转化
Desctiption = descriptionValue + "",
Capacity = int.Parse(capacityValue + ""),
BuyPrice = int.Parse(buyPriceValue + ""),
SellPrice = int.Parse(sellPriceValue + ""),
Sprite = spriteValue + ""
};
itemList.Add(itemObj);
foreach (var i in itemList)
{
Debug.Log(i.ITType);//测试
}
}
}
附件:json文件
[
{
"id": 1,
"name": "血瓶",
"type": "Consumable",
"quality": "Common",
"description": "这是用来恢复生命值的",
"capacity": 10,
"buyPrice": 10,
"sellPrice": 5,
"hp": 10,
"mp": 0,
"sprite": "Sprites/Items/hp"
}
]