C# Json操作

JSON:

JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。JSON跟XML一样是一种是数据格式。
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等)。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。

 JSON的特点:

  1. JSON 是轻量级的文本数据交换格式
  2. JSON 独立于语言 JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON解析器和 JSON 库支持许多不同的编程语言
  3. JSON 具有自我描述性,更易理解

 JSON语法规则:

        数据在键值对中
        数据由逗号分隔
        花括号保存对象
        方括号保存数组
        JSON 名称/值对
        JSON 数据的书写格式是:名称/值对。
        名称/值对组合中的名称写在前面(在双引号中),值对写在后面(同样在双引号中),中间
用冒号隔开:"firstName":"John"

 JSON值可以是:

        数字(整数或浮点数)
        字符串(在双引号中)
        逻辑值(true 或 false)
        数组(在方括号中)
        对象(在花括号中)
        null

实践:

先准备一份文本文件:Skills.txt

[
	{"Id":1,"Name":"九阴白骨爪","Damage":"100"},
	{"Id":2,"Name":"降龙十八掌","Damage":"200"},
	{"Id":3,"Name":"万雷天牢引","Damage":"300"},
]

在Skill.cs中定义属性

internal class Skill
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public int Damage { get; set; }
    }

之后还要安装JSON的工具来解析,可以在JSON官网中寻找对应的解析工具,这里选择了Json.NET,在依赖项中右键选择管理NuGet程序包搜索Json.NET即可安装。

 最后调用并输出

internal class Program
    {
        static void Main(string[] args)
        {
            Skill[] a = JsonConvert.DeserializeObject<Skill[]>(File.ReadAllText("Skills.txt"));


            foreach(Skill s in a)
            {
                Console.WriteLine(s.Id+","+s.Name+","+s.Damage);
            }
        }
    }

 结果:

 以上是一种反序列化操作,下面再进行一次序列化

            Skill skill = new Skill(); 
            skill.Id = 123;
            skill.Name = "KLZK"; 
            skill.Damage = 789;
            string str = JsonConvert.SerializeObject(skill); 
            Console.WriteLine(str);

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值