博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dynamic关键字的使用
阅读量:6495 次
发布时间:2019-06-24

本文共 2147 字,大约阅读时间需要 7 分钟。

在使用DeserializeObject函数进行转换的时候,会自动处理,如果和T匹配,就会转换好。

如果类型不匹配,也不会报错的。

public class Person        {            public string Id { get; set; }            public string FirstName { get; set; }            public string LastName { get; set; }            public string Email { get; set; }        }        public class People        {            public string Gender { get; set; }        }        ///         /// 生成json字符串        ///         [Test]        public void Test14()        {            Person person = new Person            {                Id = "10232",                FirstName = "Chuck",                LastName = "Lu",                Email = "chuck.lu@qq.com"            };            string str = JsonConvert.SerializeObject(person);            Console.WriteLine(str);        }                ///         /// 测试dynamic关键字的使用        ///         [Test]        public void Test15()        {            string str = "{\"Id\":\"10232\",\"FirstName\":\"Chuck\",\"LastName\":\"Lu\",\"Email\":\"chuck.lu@qq.com\"}";            var temp = JsonConvert.DeserializeObject
(str); //这里都是硬编码调用的 Console.WriteLine($@"{temp.Id} {temp.Id.GetType()}"); Console.WriteLine($@"{temp.FirstName} {temp.FirstName.GetType()}"); Console.WriteLine($@"{temp.LastName} {temp.LastName.GetType()}"); Console.WriteLine($@"{temp.Email} {temp.Email.GetType()}"); Console.WriteLine($@"{temp.Gender} {temp.Gender?.GetType()}"); //这里的Gender是null Console.WriteLine(); var person = JsonConvert.DeserializeObject
(str); Console.WriteLine(person.GetType()); Console.WriteLine($@"{person.Id} {person.Id.GetType()}"); Console.WriteLine($@"{person.FirstName} {person.FirstName.GetType()}"); Console.WriteLine($@"{person.LastName} {person.LastName.GetType()}"); Console.WriteLine($@"{person.Email} {person.Email.GetType()}"); Console.WriteLine(); var people = JsonConvert.DeserializeObject
(str); Console.WriteLine(people.GetType()); }

 

json字符的转义,

转载地址:http://gmcyo.baihongyu.com/

你可能感兴趣的文章
【cocos2d-js官方文档】九、cc.loader
查看>>
123
查看>>
apache开启虚拟主机 并进行配置
查看>>
三大特性
查看>>
nexus 4 下 DualBootInstallation 安装 ubuntu touch
查看>>
python-docx操作
查看>>
iOS开发之圆角指定
查看>>
2016.01.04 论文改重
查看>>
js数组删除数组元素!
查看>>
Silverlight 预定义颜色速查表
查看>>
上下或左右无缝滚动
查看>>
Android常用URI收藏
查看>>
jenkins添加git源码目录时报Error performing command错误
查看>>
git pull出现There is no tracking information for the current branch
查看>>
MathType在手,公式不求人!
查看>>
测试用例设计
查看>>
三层架构
查看>>
Python变量类型(l整型,长整形,浮点型,复数,列表,元组,字典)学习
查看>>
解决方案(.sln)文件
查看>>
理解cookie和session机制
查看>>