翼度科技»论坛 编程开发 .net 查看内容

使用Wesky.Net.Opentools库,一行代码实现实体类类型转换为Json格式字符串

5

主题

5

帖子

15

积分

新手上路

Rank: 1

积分
15
安装1.0.10以及以上版本的 Wesky.Net.OpenTools 包
 包内,该功能的核心代码如下:自定义属性:
实体类JSON模式生成器:
 使用方式:引用上面的1.0.10版本或以上的包。如果实体类有特殊需求,例如映射为其他名称,可以用OpenJson属性来实现。实体类对象案例如下:
上面实体类,提供了属性小写标记、没有任何标记、以及一个集合属性,用于展示可能存在的多种情况。如果需要小写,或者映射为其他的,可以通过OpenJson属性来标记为指定的名称;如果存在多层或者集合,也可以自动识别嵌套关系。使用方式,只需要一行代码即可:
输出结果如下所示。
应用场景:可以用于实现类似swagger的输入参数的快速赋值操作。例如访问webapi接口,通过解析对应参数实体,自动显示输入参数的Json结构,然后里面填写结果进行快速演示测试之类的。或者其他拓展方法等,需要大佬们感兴趣的自己去玩玩。本次演示代码:
  1.   public class TestInfo
  2.   {
  3.       
  4.       [OpenJson("name")]
  5.       public string Name { get; set; }
  6.       [OpenJson("description")]
  7.       public string Description { get; set; }
  8.       public int Age { get; set; }
  9.       public bool IsMale { get; set; }
  10.       public string School { get; set; }
  11.       public List<Student> Students { get; set; }
  12.   }
  13.   public class Student
  14.   {
  15.       [OpenJson("name")]
  16.       public string Name { get; set; }
  17.       public string Address { get; set; }
  18.   }
  19.   
  20.   // Program:
  21.   static void Main(string[] args)
  22. {
  23.     var data = OpenJsonSchemaGenerator.CreateJsonSchema(typeof(TestInfo));
  24.    
  25.     Console.WriteLine(data);
  26.     Console.ReadLine();
  27. }
复制代码
 
 如果以上内容对你有帮助,欢迎点赞、转发、在看和关注我的个人公众号:【Dotnet Dancer】OpenTools系列文章快捷链接【新版本完全兼容旧版本,不需要更新任何代码均可使用】:1.0.8版本:上位机和工控必备!用.NET快速搞定Modbus通信的方法https://mp.weixin.qq.com/s/Yq6kuXzFglHfNUqrHcQO9w1.0.7版本:大揭秘!.Net如何在5分钟内快速实现物联网扫码器通用扫码功能?https://mp.weixin.qq.com/s/-5VuLAS6HlElgDQXRY9-BQ1.0.6版本:.NET实现获取NTP服务器时间并同步(附带Windows系统启用NTP服务功能)https://mp.weixin.qq.com/s/vMW0vYC-D9z0Dp6HFSBqyg1.0.5版本:C#使用P/Invoke来实现注册表的增删改查功能https://mp.weixin.qq.com/s/LpsjBhDDzkwyLU_tIpF-lg1.0.3版本:C#实现图片转Base64字符串,以及base64字符串在Markdown文件内复原的演示https://mp.weixin.qq.com/s/n9VtTCIiVUbHJk7OfoCcvA1.0.2版本:​C#实现Ping远程主机功能(支持IP和域名)https://mp.weixin.qq.com/s/d-2HcIM1KaLo-FrrTLkwEw1.0.1版本:开始开源项目OpenTools的创作(第一个功能:AES加密解密)https://mp.weixin.qq.com/s/78TA-mst459AuvAHwQViqQ 【备注】包版本完全开源,并且没有任何第三方依赖。使用.net framework 4.6+、任意其他跨平台.net版本环境,均可直接引用。 
来源:https://www.cnblogs.com/weskynet/p/18233902
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

举报 回复 使用道具