(1)Json文件如下,位于Resources目录或者StreamingAssets目录,目录不同,读取文件的方式不一样
{
"cardList": [{
"id": 1,
"level": 1,
"name": "Lily",
"type": 0,
"des": "第一个女孩",
"isEquip": false,
"color": 0,
"file": "card/card_B_0A_lv1.png"
},
{
"id": 2,
"level": 1,
"name": "Lucy",
"type": 1,
"des": "第二个女孩",
"isEquip": false,
"color": 0,
"file": "card/card_B_0A_lv2.png"
}]
}
(2)简易解析过程如下
public class Card {
public int ID { get; set; }
public int Level { get; set; }
public string FileName { get; set; }
}
public class CardMrg : MonoBehaviour
{
public List<Card> cardList = new List<Card>();
// Start is called before the first frame update
void Start()
{
GetAllCard();
}
void GetAllCard()
{
//自己封装函数,读取文件内容
string content = FileUtil.GetTextForStreamingAssets("AllCard.txt");
Debug.Log(content);
JsonData data = JsonMapper.ToObject(content);
Debug.Log("--------");
JsonData list = data["cardList"];
Debug.Log("--------");
for (int i = 0; i < list.Count; i++)
{
int id = (int)list[i]["id"];
int level = (int)list[i]["level"];
string file = (string)list[i]["file"];
Card card = new Card();
card.ID = id;
card.Level = level;
card.FileName = file;
cardList.Add(card);
}
print(cardList.Count);
//使用LitJson解析时,解析类时
//若需要小数,要使用double类型,而不能使用float,可后期在代码里再显式转换为float类型。
}
}