码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 使用Wesky.Net.Opentools库,一行代码实现实体类类型转换为Json格式字符串


    合集 - OpenTools(8)
    1..NET使用P/Invoke来实现注册表的增、删、改、查功能05-142..NET实现获取NTP服务器时间并同步(附带Windows系统启用NTP服务功能)05-153.工业福利!用.NET快速开发物联网扫码器设备的通用扫码功能05-174.上位机开发福利!快速掌握.NET中的Modbus通信05-22
    5.使用Wesky.Net.Opentools库,一行代码实现实体类类型转换为Json格式字符串06-05
    6.使用Wesky.Net.Opentools库,一行代码实现自动解析实体类summary注释信息(可用于数据实体文档的快速实现)06-067.谁说.net core不好动态访问webservice?看这篇文章,C#快速实现动态访问webservice,兼容.net framework和.net core+06-108.使用Wesky.Net.OpenTools包来快速实现嵌套型结构体数据转换功能06-12
    收起
    安装1.0.10以及以上版本的 Wesky.Net.OpenTools 包
    0
     
    包内,该功能的核心代码如下:
    自定义属性:
    0
    实体类JSON模式生成器:
    0
     
    使用方式:引用上面的1.0.10版本或以上的包。如果实体类有特殊需求,例如映射为其他名称,可以用OpenJson属性来实现。实体类对象案例如下:
    0
    上面实体类,提供了属性小写标记、没有任何标记、以及一个集合属性,用于展示可能存在的多种情况。如果需要小写,或者映射为其他的,可以通过OpenJson属性来标记为指定的名称;如果存在多层或者集合,也可以自动识别嵌套关系。
    使用方式,只需要一行代码即可:
    0
    输出结果如下所示。
    0
    应用场景:可以用于实现类似swagger的输入参数的快速赋值操作。例如访问webapi接口,通过解析对应参数实体,自动显示输入参数的Json结构,然后里面填写结果进行快速演示测试之类的。或者其他拓展方法等,需要大佬们感兴趣的自己去玩玩。
    本次演示代码:
    复制代码
      public class TestInfo
      {
          
          [OpenJson("name")]
          public string Name { get; set; }
          [OpenJson("description")]
          public string Description { get; set; }
          public int Age { get; set; }
          public bool IsMale { get; set; }
          public string School { get; set; }
          public List Students { get; set; }
      }
    
      public class Student
      {
          [OpenJson("name")]
          public string Name { get; set; }
          public string Address { get; set; }
    
      }
      
      // Program:
      static void Main(string[] args)
    {
        var data = OpenJsonSchemaGenerator.CreateJsonSchema(typeof(TestInfo));
       
        Console.WriteLine(data);
        Console.ReadLine();
    }
    复制代码

     

     
    如果以上内容对你有帮助,欢迎点赞、转发、在看和关注我的个人公众号:【Dotnet Dancer】
    OpenTools系列文章快捷链接【新版本完全兼容旧版本,不需要更新任何代码均可使用】:
    1.0.8版本:
    上位机和工控必备!用.NET快速搞定Modbus通信的方法
    https://mp.weixin.qq.com/s/Yq6kuXzFglHfNUqrHcQO9w
    1.0.7版本:
    大揭秘!.Net如何在5分钟内快速实现物联网扫码器通用扫码功能?
    https://mp.weixin.qq.com/s/-5VuLAS6HlElgDQXRY9-BQ
    1.0.6版本:
    .NET实现获取NTP服务器时间并同步(附带Windows系统启用NTP服务功能)
    https://mp.weixin.qq.com/s/vMW0vYC-D9z0Dp6HFSBqyg
    1.0.5版本:
    C#使用P/Invoke来实现注册表的增删改查功能
    https://mp.weixin.qq.com/s/LpsjBhDDzkwyLU_tIpF-lg
    1.0.3版本:
    C#实现图片转Base64字符串,以及base64字符串在Markdown文件内复原的演示
    https://mp.weixin.qq.com/s/n9VtTCIiVUbHJk7OfoCcvA
    1.0.2版本:
    ​C#实现Ping远程主机功能(支持IP和域名)
    https://mp.weixin.qq.com/s/d-2HcIM1KaLo-FrrTLkwEw
    1.0.1版本:
    开始开源项目OpenTools的创作(第一个功能:AES加密解密)
    https://mp.weixin.qq.com/s/78TA-mst459AuvAHwQViqQ
     
    【备注】包版本完全开源,并且没有任何第三方依赖。使用.net framework 4.6+、任意其他跨平台.net版本环境,均可直接引用。
     
    欢迎加入QQ群: 群号:1079830632 WeskyNet交流群
  • 相关阅读:
    Spring——注解实现自动装配
    Linux之用户操作【用户的增删改查你要的都有】【详细】
    计算机视觉常用的PR图画法
    洛谷刷题笔记——P4552 [Poetize6] IncDec Sequence
    千呼万唤始出来 JDK 21 LTS, 久等了
    面试冲刺季,Android进阶开发知识点面试题全汇总
    企业该如何做好日志管理?
    如何解决 npm ERR! Cannot read properties of null (reading ‘pickAlgorithm‘)报错问题
    【微服务 SpringCloud】实用篇 · Eureka注册中心
    python自动化系列之python操作pptx文件
  • 原文地址:https://www.cnblogs.com/weskynet/p/18233902
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号