C#中一般运用到的文本信息有三种:1.xml 2.JSON 3.EXCEL
所以今天梳理一下json...
JSON
JSON 是存储和交换文本信息的语法。类似 XML。
JSON 比 XML 更小、更快,更易解析。JSON跟XML一样是一种是数据格式。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、C#、Java、JavaScript、Perl、Python等) 。这些特性使JSON成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(网络传输速率)。
什么是JSON
JSON 是轻量级的文本数据交换格式
JS@N 独立于语言 *
JSON 具有自我描述性,更易理解
*JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON解析器和 JSON 库支持许多不同的编程语言。
JSON 语法规则
数据在键值对中
数据由逗号分隔
花括号保存对象
方括号保存数组
JSON 名称/值对
JSON 数据的书写格式是: 名称/值对。
名称/值对组合中的名称写在前面(在双引号中) ,值对写在后面(同样在双引号中),中间用冒号隔开:"firstName":"John"
JSON 值可以是:数字 (整数或浮点数)字符串 (在双引号中)逻辑值 (true 或 false)数组 (在方括号中)
JSON数据结构
json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构
1、对象: 对象在js中表示为花括号“{ }”括起来的内容,数据结构为 [key: value, key:value,...]的键值对的结构,在面向对象的语言中,key为对象的属性,value为对应的属性值,所以很容易理解,取值方法为 对象.key (c# 对象[key]) 获取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。
2、数组: 数组在js中是间括号“[ ]”括起来的内容,数据结构为["java","javascript","vb",...],取值方式和所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。经过对象、数组2种结构就可以组合成复杂的数据结构了。
![](https://img-blog.csdnimg.cn/img_convert/11a3bf287c76b99b35610c9b5284c411.png)
json官网:JSON
里面有json的语法详解。
json官网里,这是一些开发者开发的开源的用来解析和生成json的工具(类),或者说解析器。
![](https://img-blog.csdnimg.cn/img_convert/d7fc9cec471f11557897556838cd5fe6.png)
重点看一下C#
![](https://img-blog.csdnimg.cn/img_convert/8502a130b9d36dd939f3a39c1a7f459d.png)
常用的是
fastJSON
Json.NET
LightJson
以前学xml的时候,xml是系统提供的工具类XmlDocument。但是json没有,所以要用到上面的工具类。
以上链接,点击下载的是:1.dll 2.code码源
但我们可以不下载 直接使用vs的nuget程序包 直接引用,这是第3种方法。