当前位置: 首页 > news >正文

旅游网站设计策划书恩施seo快速排名

旅游网站设计策划书,恩施seo快速排名,襄阳网站制作公司有哪些,网站制作小图标序列化#xff08;Serialize#xff09;是将对象转换成字节流#xff0c;并将其用于存储或传输的过程#xff0c;主要用途是保存对象的状态#xff0c;以便在需要时重新创建该对象#xff1b;反序列化#xff08;Deserialize#xff09;则是将上面的字节流转换为相应对…   序列化Serialize是将对象转换成字节流并将其用于存储或传输的过程主要用途是保存对象的状态以便在需要时重新创建该对象反序列化Deserialize则是将上面的字节流转换为相应对象的过程在.Net阵营中Json.Net是由官方推荐的高性能开源序列化/反序列化工具其官方网站https://www.newtonsoft.com/json  一、将对象序列化为Json格式字符串  首先是正常的序列化操作对于给定的类private class MyClass{public int MyNum;public string MyStr;}  将该类的实例序列化为Json格式字符串首先引用命名空间Newtonsoft.JsonMyClass myClass new MyClass { MyNum 10, MyStr Hello World };Console.WriteLine(JsonConvert.SerializeObject(myClass));  其打印结果{MyNum:10,MyStr:Hello World}  在打印到本地Log文件以供自己查看使用时可以选择转换为带有缩进的Json格式字符串Console.WriteLine(JsonConvert.SerializeObject(myClass, Formatting.Indented));  此时打印结果为{MyNum: 10,MyStr: Hello World}  二、将Json格式字符串反序列化为对象  对于给定的字符串string jsonStr {MyNum: 10,MyStr: Hello World};  将其反序列化为MyClass类型的对象MyClass myClass JsonConvert.DeserializeObjectMyClass(jsonStr);Console.WriteLine(myClass.MyStr); //Hello World  三、使用JObject动态序列化/反序列化  以上例子都是使用强类型进行序列化和反序列操作但有时也会用到不指定类型而直接操作Json格式数据的情况此时就需要用位于命名空间ewtonsoft.Json.Linq中的JObject类型的对象string jsonStr {MyNum: 10,MyStr: Hello World};JObject jObject JObject.Parse(jsonStr);Console.WriteLine(jObject.ToString(Formatting.None)); //{MyNum:10,MyStr:Hello World}//打印一条属性的值Console.WriteLine(jObject[MyStr].Valuestring()); //Hello World//添加一条属性jObject.Add(MyStr2, HaHa);//打印当前Json字符串Console.WriteLine(jObject.ToString(Formatting.None)); //{MyNum:10,MyStr:Hello World,MyStr2:HaHa}  四、定制化序列化/反序列过程  1.在C#中定制化的配置通常使用特性来完成这里也不例外例如简单的在序列化/反序列时忽略某个字段/属性private class MyClass{ [JsonIgnore]public int MyNum;public string MyStr;}  此时无论序列化还是反序化时字段MyNum都不再参与这些过程  2.自定义某个字段/属性的序列化/反序列化规则  当接收到的Json格式字符串与本地已有类型不统一时需要进行自定义的反序列化过程反之亦然例如Json字符串中以字符串TRUE表示布尔类型true不自定义这个过程依然走的通只是以此举例以字符串FALSE表示布尔类型false时需要自定义如下/// summary/// 自定义布尔类型数据转换规则/// /summarypublic class MyBoolConverter : JsonConverter{private const string TrueStr TRUE;private const string FalseStr FALSE;public override bool CanConvert(Type objectType) true;//反序列化public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) {if (reader.ValueType typeof(string)) {if ((string)reader.Value TrueStr) {return true; }else {return false; } }return false; }//序列化public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) {if (value.GetType() typeof(bool)) {bool result (bool)value;if (result) { writer.WriteValue(TrueStr); }else { writer.WriteValue(FalseStr); } } }}  然后在需要操作的类型定义中的字段/属性中加入该特性private class MyClass{ [JsonConverter(typeof(MyBoolConverter))]public bool MyBool;}  此时string jsonStr {MyBool: TRUE};MyClass1 myClass JsonConvert.DeserializeObjectMyClass1(jsonStr);Console.WriteLine(myClass.MyBool); //TrueConsole.WriteLine(JsonConvert.SerializeObject(myClass)); //{MyBool:TRUE}如果您觉得阅读本文对您有帮助请点一下“推荐”按钮您的认可是我写作的最大动力原文地址https://www.cnblogs.com/minotauros/p/10918772.html.NET社区新闻深度好文欢迎访问公众号文章汇总 http://www.csharpkit.com
http://www.pierceye.com/news/336524/

相关文章:

  • 做网站用什么系统做网站开发电脑配置
  • 企业网站推广的主要方法上海中汇建设发展有限公司网站
  • 郑州做网站公司电话网站是否有管理员权限
  • 开发建设信息的网站广东省建设厅的注册中心网站首页
  • 用cms做的网站 的步骤有域名如何做网站
  • h5个人网站源码江苏启安建设集团有限公司网站
  • 网站开发net教程网站后台登陆路径
  • 织梦网站模板安装教程国外设计有名网站
  • 最专业企业营销型网站建设南充 网站开发
  • 国外有哪些网站做推广的比较好北京展览馆网站建设
  • 国外英语写作网站网站后台 刷新
  • 如何制作自己的网站详情页设计
  • 南京免费自助建站模板wordpress 增加侧边栏
  • 做信息分类网站难吗广告设计公司有哪些
  • 做seo网站优化多少钱网站开发客户哪里找
  • 做网站一定要云解析吗海南公司注册网站
  • 建站之家官网办公装修设计
  • 永康网站建设的公司wordpress 图片分类
  • 网站商务通弹出窗口图片更换设置wordpress4.9 多站点
  • 如何仿制一个网站注册商标设计
  • 网站建设属于什么岗位旅游网站设计模板
  • 自己做的网站怎么链接火车头采集软件开发模型是什么
  • 新网站怎么做才会被收录正品海外购网站有哪些
  • 广东手机网站建设品牌js制作网页计算器
  • 化隆网站建设公司学做网站多久
  • 网站域名如何查询上海室内设计公司哪家好
  • 电子书推送网站怎么做新做的网站如何
  • 网站建设图片怎么加水印电商平台网站建设功能介绍
  • 一个门户网站怎么做金坛网站建设哪家好
  • 大学网站建设图江苏廉政建设网站