一:什么是 Json
Json ,全称 JavaScript Object Notation, 即 JavaScript 对象标记法,是一种轻量级的数据交换格式。
采用完全独立于编程语言的文本格式来存储和表示数据, 不仅容易阅读和编写,而且也容易解析和生成,有效的提升了网络传输效率,在与后端的数据交互中有较为广泛的应用。
通俗的说,Json 就是按照一定规则排列的字符串。
二:Json 的用途
1)服务器数据的交互。
2)配置文件。
3)手机数据的交互。
通俗的说,Json 不仅可以保存数据,还可以与服务器间传递数据。
三:Json 的序列化与反序列化
1)序列化:将“对象”转换成“字节序列”的过程。
2)反序列化:将“字节序列”恢复成“对象”的过程。
四:Json 语法规则
1)数据在“名称/值对”中。名称(name)置于双引号中,后面写一个冒号,然后是值,值(value)可以是字符串、数字、布尔值、null、对象和数组。
2)并列数据间由逗号分隔,最后一个数据不需要加逗号。
3)花括号 { } 保存对象(Object),对象可以包含多个“名称/值对”。
4)方括号 [ ] 保存数组(Array),数组可以包含多个对象。
五:Json 举例:
{
"name": "中国",
"province": [{
"name": "黑龙江",
"cities": {
"city": ["哈尔滨", "大庆"]
}
}, {
"name": "广东",
"cities": {
"city": ["广州", "深圳", "珠海"]
}
}, {
"name": "*",
"cities": {
"city": ["台北", "*"]
}
}, {
"name": "*",
"cities": {
"city": ["乌鲁木齐"]
}
}]
}
六:校验工具
https://www.sojson.com/
七:Newtonsoft.Json 使用
1. Nuget 中查找 Newtonsoft.Json 选择稳定版本安装
2. /// <summary>
/// json 转 dynamic
/// </summary>
/// <param name="value"></param>
/// <returns></returns>
public static dynamic ToDynamic(this string value)
{
try
{
return JsonConvert.DeserializeObject<dynamic>(value);
}
catch (Exception ex)
{
return null;
}
}
/// <summary>
/// object 转 Json 转换错误返回 string.empty
/// </summary>
/// <param name="obj"></param>
/// <returns></returns>
public static string ToJson(this object obj)
{
try
{
JsonSerializerSettings settings = new JsonSerializerSettings();
settings.Formatting = Formatting.Indented;
settings.DefaultValueHandling = DefaultValueHandling.Include;
settings.NullValueHandling = NullValueHandling.Include;
return JsonConvert.SerializeObject(obj, settings);
}
catch (Exception ex)
{
return string.Empty;
}
}