json数据表格

比xml 更好解析 ,两者都是txt文档,官方很人性化提供专门的解析器,并且还提供了在线编辑器

bjson.com 是中文的

www.json.org     litjson 解析库 vs编辑器是不自带的,有两种加载方式一种是再vs里直接搜索下载,一种是官网下载



{
 "Name":"siki",
 "Level":99,
 "Age":18,
 "SkillList":[
  {"id":2,"name":"天下无双","damage":123 },
  {"id":3,"name":"天下无贼","damage":21 },
  {"id":4,"name":"咫尺天涯","damage":900 }
 ]
}

——————————————————————————————

using LitJson;

namespace _032_json操作 {
    class Program {
        static void Main(string[] args) {
            //使用litjson进行解析json文本
            //两种引入litjson的方法
            //1,去litjson的网站下载litjson.dll 然后添加引用 找到dll所在目录
            //2,右键引用 打开管理netget程序包,在联机里面搜索litjson  在搜索结果中选择一个 点击安装

            //List<Skill> skillList = new List<Skill>();
            //我们使用jsonMapper去解析json文本
            //jsondata代表一个数组或者一个对象
            //在这里jsonData代表数组
            //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"];
            //    int id = Int32.Parse(idValue.ToString());
            //    int damage = Int32.Parse(damageValue.ToString());
            //    //Console.WriteLine(id+":"+nameValue.ToString()+":"+damage);
            //    skill.id = id;
            //    skill.damage = damage;
            //    skill.name = nameValue.ToString();
            //    skillList.Add(skill);
            //}
            //foreach (var temp in skillList)
            //{
            //    Console.WriteLine(temp);
            //}

            //使用泛型去解析json
            //json里面对象的键必须跟定义的类里面的字段或者属性保持一致
            //Skill[] skillArray= JsonMapper.ToObject<Skill[]>(File.ReadAllText("json技能信息.txt"));
            //foreach (var temp in skillArray)
            //{
            //    Console.WriteLine(temp);
            //}
            //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 = 100;
            p.Age = 16;
            string json =JsonMapper.ToJson(p);
            Console.WriteLine(json);
            Console.ReadKey();
        }
    }
}

——————————————————————————

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _032_json操作 {
    class Player
    {
    //    public string name;//字段或者属性名 要跟json里面的对应
    //    public int level;
        public string Name { get; set; }
        public int Level { get; set; }
        public int Age { get; set; }
        public List<Skill> SkillList { get; set; }

        public override string ToString()
        {
            return string.Format("Name: {0}, Level: {1}, Age: {2}, SkillList: {3}", Name, Level, Age, SkillList);
        }
    }
}

————————————————————

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace _032_json操作 {
    class Skill
    {
        public int id;
        public int damage;
        public string name;

        public override string ToString()
        {
            return string.Format("Id: {0}, Damage: {1}, Name: {2}", id, damage, name);
        }
    }
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值