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

news/2025/3/16 14:44:42/文章来源:https://www.cnblogs.com/weskynet/p/18233902
安装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<Student> 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版本环境,均可直接引用。
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/720564.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RFS_Server_06 上传并发布数据

操作描述:云服务器Ubuntu20.04系统Docker中有两个容器:Postgres容器和GeoServer容器。将数据存储至Postgres数据库容器中,并通过GeoServer连接,发布地图服务。 此文档中使用的Postgres数据库名称为pg01,GeoServer服务器名称为geoserver01。 1 基础操作:使用工具连接云…

vivado与modelsim联合仿真

写在前面:联合仿真需要版本对应,我的2020的modelsim和2020的vivado是可以用的。如果不对应,下边会编译报错。 第一步,编译仿真库文件。点击菜单栏Tools-->Compile Sim Libary,第一行Simulator选择Modelsim接下来Family选择你需要的器件对应的Family。Compiled library …

深度学习--风格迁移 原理以及实现--84

目录1. 简介4. 损失函数 参考链接:https://blog.csdn.net/ssshyeong/article/details/127092354 1. 简介 Image Style Transfer Using Convolutional Neural Networks:Gram矩阵(CVPR2016) 链接 Texture Synthesis Using Convolutional Neural Networks 图像经过卷积层后得到的…

Body AdvancedBrep Geometry

Body AdvancedBrep Geometry Body Brep Geometry是通过边界表示模型(包括NURBS)表示产品的三维形状。应使用保持该几何表示的IfcShapeResentation的以下属性值:IfcShapeRepresentation.RepresentationIdentifier = Body IfcShapeRepresentation.RepresentationType = Advanc…

node.js + mysql实现基本的增删改查功能(保姆级教程---2优化版)

node.js + mysql实现基本的增删改查(保姆级教程---2优化版)上一个实现对增删改查功能都写在同一个文件里,代码过于冗余,我认为可以优化,分开写在不同文件里面,使得更加直观。废话不多说,直接进入主题:对之前的代码进行抽离:db.js文件(用于数据库的连接,并导出连接供…

虚幻中实现本地双人的输入设备分别控制需要的Pawn

想要实现双人成行游戏中的双输入设备(双输入设备指的是一个键鼠和一个手柄,或者两个手柄)分别控制玩家1和玩家2,同时可以动态插拔设备切换对应的Pawn的控制权;本文是对探索并实现此功能的一个解决思路记录。1、前期准备和知识点梳理 1.1 本地多玩家 LocalPlayer 平常我们运…

HiPPO: Recurrent Memory with Optimal Polynomial Projections

目录概Motivation代码Gu A., Dao T., Ermon S., Rudra A. and Re C. HiPPO: Recurrent memory with optimal polynomial projections. NIPS, 2021.概 看下最近很火的 Mamba 的前身. 本文其实主要介绍的是一个如何建模历史信息在正交基上的稀疏的变化情况.Motivation对于一个函数…

存储引擎及特点、约束条件、严格模式、基本字段类型(整型、浮点型、字符串、日期时间、枚举和集合)

【一】存储引擎在平常我们处理的文件格式有很多,并且针对不同的文件格式会有对应不同的存储方式和处理机制 针对不同的数据应该有对应不同的处理机制 存储引擎就是不同的处理机制。# 查看所有引擎 show engines;四种主要的存储引擎 (1)Innodb引擎是MySQL5.5版本之后的默认存…

sickos1.1-cms

sickos1.1-cms主机发现和nmap扫描 nmap -sn 192.68.56.0/24靶机ip:192.168.56.105 nmap -sT --min-rate 10000 192.168.56.105PORT STATE SERVICE 22/tcp open ssh 3128/tcp open squid-http 8080/tcp closed http-proxynmap -sT -sV -sC -O -p22,3128,8080 192.16…

自动化类级别前后置和函数级别前后置的区别

一、函数级别的前后置,格式如下: 二、类函数级别的前后置如下: 三、总结: 1、函数级别的用例执行一个用例时,都会执行一遍;类级别的前后置不管用例是多少个,只在执行用例时执行一次。 2、所以根据用例的需要,适当的选择是类级别的前后置还是函数级别的前置后。

Linux容器架构

1.Iaas:基础设施即服务 Infrastructure-as-a-Service Paas:平台即服务 Platform-as-a-Service Saas:软件即服务 Software-as-a-Service Caas:容器即服务 介于IAAS和PAAS IAAS,PAAS,SAAS这些服务,用于帮助人们更快实现目标(搭建环境,使用产品) 从左到右,人们需要管理与维护的地方…