json格式概念
JSON(JavaScript Object Notation) 是一种轻量级的数据传输格式,其采用完全独立于语言的文本格式,使JSON成为理想的数据交换语言。
json由两种格式组成。
1.名称/值”对的集合,可以一起创建多个"名称 / 值对"。
{ “firstName”: “1”, “lastName”:“1”, “qq”: “1234567” }
2.值的有序列表,一般被理解为数组(array)。当需要表示一组值时,只需将多个带花括号的记录分组在一起。
{ “num”: [
{ “firstName”: “1”, “lastName”:“1”, “qq”: “1234567” },
{ “firstName”: “2”, “lastName”:“2”, “qq”: “1234567”},
{ “firstName”: “3”, “lastName”:“3”, “qq”: “1234567” }
]}
由于json是 JavaScript 原生格式,所以在C#中需要下载安装Newtonsoft.Json。
VS2019中安装Newtonsoft
点击工具-nuget包管理器-管理解决方案-浏览搜索-安装
示例
安装完后添加引用就可以写代码了。
建一个窗体程序,设置下界面:
添加引用
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
写代码:
//匿名对象
Measure dataObj = new Measure
{ ID = "abc",
Height = 100,
Width = 20,
Diameter = 2.152,
Plat =0.01
};
#region//直接序列化
//直接转化为Json 格式。
string Result = JsonConvert.SerializeObject(dataObj);
richTextBox1.AppendText(Result);
//保存为文件
System.IO.File.WriteAllText(@"D:\measure.json", Result);
//反序列化为正常字符串
Measure ResultD = JsonConvert.DeserializeObject<Measure>(Result);
//反序列化文件
Measure ResultD1 = JsonConvert.DeserializeObject<Measure>(System.IO.File.ReadAllText(@"D:\measure.json"));
richTextBox2.Text = ResultD.ID;
richTextBox2.AppendText(System.Environment.NewLine + ResultD1.Height);
#endregion
下面还要加一个类
public class Measure
{
public string ID { get; set; }
public double Height { get; set; }
public double Width { get; set; }
public double Diameter { get; set; }
public double Plat { get; set; }
}