1.json文件
[
{
"id": 2,
"Name": "天下无双",
"Damage": 99
},
{
"id": 3,
"Name": "龙战于野",
"Damage": 2299
}
]
2.技能类
class Skill
{
public int ID { get; set; }
public string Name { get; set; }
public int Damage { get; set; }
public override string ToString()
{
return string.Format("ID:{0},Name:{1},Damage:{2}", ID, Name, Damage);
}
}
3.解析过程
class Program
{
static void Main(string[] args)
{
//List<Skill> skillList = new List<Skill>();
//使用litjson来解析json文本
//引入litjson的两种方式
//1.去官网下载litjson,然后添加引用,找到dll所在目录
//2.右键引用,打开管理netget程序包,在联机里面搜索litjson,在搜索结果中选择一个 点击安装
//使用JsonMapper解析json文本,jsonData代表json里的那个数组或对象。
//解析笨办法
//JsonData jsonData = JsonMapper.ToObject(File.ReadAllText("json技能解析.txt"));
// foreach(JsonData temp in jsonData) //temp在这里代表一个对象
// {
// Skill skill = new Skill();
// JsonData idValue = temp["id"];
// JsonData nameValue = temp["Name"];
// JsonData damageValue = temp["Damage"];
// skill.ID = Int32.Parse(idValue.ToString());
// skill.Name = nameValue.ToString();
// skill.Damage = Int32.Parse(damageValue.ToString());
// skillList.Add(skill);
// }
// foreach(var skill in skillList)
// {
// Console.WriteLine(skill);
// }
//使用泛型解析json
//Json里面对象的键必须跟类里面的字段或者属性保持一致
//List<Skill> skillList = JsonMapper.ToObject<List<Skill>>(File.ReadAllText("json技能解析.txt"));
//foreach(var temp in skillList)
//{
// Console.WriteLine(temp);
//}
//解析单独一个对象
//Player p = JsonMapper.ToObject<Player>(File.ReadAllText("主角信息.txt"));
//Console.WriteLine(p);
//foreach(var temp in p.SkillList)
//{
// Console.WriteLine(temp);
//}
Player p = new Player();
p.Name = "花千骨";
p.Level = 99;
string json = JsonMapper.ToJson(p);
Console.Write(p);
//bejson很好用的在线编辑器
Console.ReadKey();
}
4.人物类
class Player
{
public string Name { get; set; }
public int Level { get; set; }
public List<Skill> SkillList { get; set; }
public override string ToString()
{
return string.Format("Name:{0},Level:{1},SkillList:{2}", Name, Level, SkillList);
}
}
5.人物json文件
{
"Name":"yanzi","Level":99,"SkillList":[
{
"id": 2,
"Name": "天下无双",
"Damage": 99
},
{
"id": 3,
"Name": "龙战于野",
"Damage": 2299
}
]
}