C#使用泛型快速解析Json数据:特点 轻巧 方便 快捷


Json泛型解析


  1. Json数据文本
{
	"name":"Qxx",
	"level":166,
	"age":18,
	"skillList":[
		{"id":1,"name":"排山倒海","damage":100},
		{"id":2,"name":"连环八卦掌","damage":110},
		{"id":3,"name":"猴子摘桃","damage":120}
	]
}
  1. 创建Player类再创建一个对象用来存储Json数据
using System.Collections.Generic;

namespace Json泛型解析
{
    public class Player
    {
        public string name { get; set; }
        public int level { set; get; }
        public int age { set; get; }
        public List<Skill> skillList { set; get; }

        public override string ToString()
        {
            return $"{nameof(name)}: {name}, {nameof(level)}: {level}, {nameof(age)}: {age}, {nameof(skillList)}: {skillList}";
        }
    }
}
  1. 技能Skill类
namespace Json泛型解析
{
    public class Skill
    {
        public int id;
        public string name;
        public int damage;

        public override string ToString()
        {
            return $"{nameof(id)}: {id}, {nameof(name)}: {name}, {nameof(damage)}: {damage}";
        }
    }
}
  1. C#使用泛型快速简单方便解析Json
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using LitJson;

namespace Json泛型解析
{
    class Program
    {
        static void Main(string[] args)
        {
            Player player = JsonMapper.ToObject<Player>(File.ReadAllText("Json角色.txt"));
            Console.WriteLine(player);
            foreach (var temp in player.skillList)
            {
                Console.WriteLine(temp);
            }
            Console.ReadKey();
        }
    }
}


总结: 使用泛型可以很明显的从代码上得出结论非常简单容易,需要注意的是类的模板一定要和自己所要解析的Json数据对应起来,哪怕错一个字母也会导致数据丢失


原创文章 37 获赞 11 访问量 2800

猜你喜欢

转载自blog.csdn.net/qq_39691716/article/details/83629637
今日推荐