1.概念
- Json是存储和交换文本信息的语法。类似于XML。
- Json比XML更小、更快、更易解析。Json与XML一样是一种数据格式。
- Json是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。Json采取完全独立于语言的文本格式,
但是也使用了类似于C语言的习惯。这些特性使Json成为了理想的数据交换语言。易于人阅读和编写,同时也
易于机器解析和生成(网络传输)
实例如下:
{
"employees":[
{"firstName":"Bill","lastName":"Gates"},
{"firstName":"George","lastName":"Bush"},
{"firstName":"Thomas","lastName":"Carter"}
]
}
2.什么是Json
- Json是轻量级的文本格式
- Json独立于语言
- Json具有自我描述性,更易于理解
- Json使用javaScript语法来描述数据对象,但是Json任然独立于语言和平台。Json解析器和Json库
支持许多不同的编程语言。
3.Json语法规则
- 数据在键值对中
- 数据由逗号分隔
- 花括号保存对象
- 中括号保存数组
4.Json官网
Json资料
5.Json文件读取
下面以Json文件的读取为例
Skill.txt
{
"name":"扁鹊",
"maxHP":2000,
"type":"法师",
"skillList":[
{"id":2,"name":"技能1","damage":200},
{"id":3,"name":"技能2","damage":255},
{"id":4,"name":"技能3","damage":300}
]
}
Skill.cs
internal class Skill
{
public int id { get; set; }
public string name { get; set; }
public int damage { get; set; }
}
Hero.cs
internal class Hero
{
public string name { get; set; }
public int maxHP { get; set; }
public string type { get; set; }
public List<Skill> skillList { get; set; }
}
NuGet按照Json包
主要处理逻辑
internal class Program
{
static void Main(string[] args)
{
Hero hero = JsonConvert.DeserializeObject<Hero>(File.ReadAllText("Hero.txt"));
Console.WriteLine(hero.name + "," + hero.type + "," + hero.maxHP);
foreach (Skill s in hero.skillList)
{
Console.WriteLine(s.id + ", " + s.name + " ," + s.damage);
}
Console.ReadKey();
}
}