NewtonJsonConvert的比较好搭配使用

(1)与关键字冲突,解决办法加@

var a = new
{
    @class=1,
};
var d = JsonConvert.SerializeObject(a);
Console.WriteLine(d);

output

{"class":1}

(2)接参数,dynamic神搭配!

var a = new
{
    @class=1,
    test=new List<int> { 3,4,5},
    ppp="this is a ppp"
};
var d = JsonConvert.SerializeObject(a);
Console.WriteLine(d);
dynamic b = JsonConvert.DeserializeObject(d);
Console.WriteLine(b.@class);
Console.WriteLine(b.test.Count);
Console.WriteLine(b.ppp);

该方法的应用场景还有EF Core中,查询数据,在不创建对应的类的情况下,直接获取数据。

(3)ExpandoObject:一个装数据和方法的动态袋子

dynamic a = new ExpandoObject();
            a.test = "jjjj";
            a.@class = "class";
            Console.WriteLine(a.test);
            Console.WriteLine(a.@class);


posted @   JohnYang819  阅读(36)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示