上一篇:
C#,入门教程(32)——程序运行时的调试技巧与逻辑错误探针技术与源代码https://blog.csdn.net/beijinghorn/article/details/126014885
作为21世纪的编程者,无论你是前端还是后端,都逃不过“json”。
一、什么是 json?
当打开中文输入法,拼音输入提示为:接送!真是缘分!
1、为什么会有 json ?
----曾经的曾经:编程时对象object一般是在内存中以二进制数据保存的,交流起来障碍重重。
----曾经:先辈们曾经尝试将对象数据转为SGML,HTML互相交流,依然困难不小。1998年2月10日,W3C(World Wide Web Consortium,万维网联盟)公布XML 1.0标准,XML诞生了。
----后来:XML依然脱不了一副高贵的模样,使用起来限制颇多。可靠性很差!
----现在:以 Newtonsoft 为代表的一系列不满足现状者,推出了高效稳定的 json 解释器。从此 json 开始了完全替代了 XML 的 “接送” 任务。
json 就是负责系统(或模块)之间进行数据传输“接送”的一种文本数据格式。
json,已经成为事实上的“数据通讯语言”。
2、json的基本定义
json就是用格式化文本描述对象object。
1、JSON 是 JavaScript 对象表示法(JavaScript Object Notation);
2、JSON 是轻量级的文本数据交换格式;
3、JSON 的独立性:几乎所有编程语言都不得不支持JSON;
4、JSON 具有自我描述性,更易理解。
{"Id" : 1,"Name" : "Truffer"
}
二、json的常见应用场景
1、开始使用 json
程序中要使用 json,需要安装相应的解析包(Packets)。
那当然是 Newtonsoft.Json 了。
很简单。
2、系统(网站)之间传输数据
这是 json 初心!
发送过程:
(1)对象、对象集合转为json;
(2)转为 base64 集合;或不;
(3)加密或不加密;
(4)压缩或不压缩i;
(5)生成md5验证码;
(6)将 字符集,json 和验证码,发送给对方;
接收过程:
反之。
3、对象的深复制与浅复制
对象复制,是编程中常见的场景。
Person a = new Person();
Person b = a;
以上代码,属于浅复制。如同大堂给了 a 一张 中太大厦32056 的门卡。又给了 b 一张同一个房间的门卡。如果这不是你想要的结果,你想要一张另外一个房间的门卡。那么应该是:
Person b = new Person(a);
需要特别编写 Person 的一个构造函数。
这个过程,就是深复制!!!!!!!!!!!!!!!
如果 Person 嵌套有子属性,也是 class ,如此多层。那么程序写起来就很麻烦了。
程序员都怕层次!
在 json 之前的深复制,是漏洞百出的。使用 json 的深复制,极为便利、可靠、实用。
ComplexPerson a = new ComplexPerson();
ComplexPerson b = (Complex)(JsonConvert.DeserializeObject<Complex>(JsonConvert.SerializeObject(a)));
你无需再搜索任何 深复制 方法与代码了,
以40年编程经历告诉你:这是终极解决方案!
4、保存与读取数据
保存过程:
(1)对象、对象集合转为json;
(2)格式化或不格式化;
(3)加密或不加密;
(4)压缩或不压缩i;
(5)写出文件;
using Newtonsoft.Json;// JsonFormater 从后面的下载链接获取// 对象集合
// List<T> Items = ...// 格式化保存 json 文件
try {File.Save(filename, JsonFormater.Execute(JsonConvert.SerializeObject(Items)), Encoding.UTF8);
}
catch(Exception ex)
{;
}// 不格式化
try {File.Save(filename, JsonConvert.SerializeObject(Items), Encoding.UTF8);
}
catch(Exception ex)
{;
}// 分步骤
try {string jsonBuffer = JsonConvert.SerializeObject(Items);File.Save(filename, jsonBuffer, Encoding.UTF8);
}
catch(Exception ex)
{;
}
json 格式化的源程序:
json格式化的源程序https://download.csdn.net/download/beijinghorn/85231176
读入过程:
反之。
著名的数据库mongodb,就是以(二进制)json文件保存数据。4
——————————————————————————
POWER BY TRUFFER.CN
下一篇:
C#,入门教程(34)——关于函数的参数之引用(ref)的一点知识与源程序https://blog.csdn.net/beijinghorn/article/details/125411351