百度360必应搜狗淘宝本站头条
当前位置:网站首页 > IT知识 > 正文

牛啊牛啊:C#/.NET一行代码把实体类类型转换为Json数据字符串

liuian 2025-05-30 16:05 6 浏览

前言:刚好要做一个类似Swagger那种可以快速访问api接口和演示的功能,于是就把做的思路写到包里面去,给有需要的小伙伴提供学习和参考。

首先,安装1.0.10以及以上版本的 Wesky.Net.OpenTools 包

包内,该功能的核心代码如下:

自定义属性:

实体类JSON模式生成器:

使用方式:引用上面的1.0.10版本或以上的包。如果实体类有特殊需求,例如映射为其他名称,可以用OpenJson属性来实现。实体类对象案例如下:

上面实体类,提供了属性小写标记、没有任何标记、以及一个集合属性,用于展示可能存在的多种情况。如果需要小写,或者映射为其他的,可以通过OpenJson属性来标记为指定的名称;如果存在多层或者集合,也可以自动识别嵌套关系。

使用方式,只需要一行代码即可:

输出结果如下所示。

应用场景:可以用于实现类似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版本环境,均可直接引用。


再次感谢各位阅读~~~



相关推荐

Chrome浏览器必学实用技巧-建议收藏

谷歌Chrome是目前最流行的桌面浏览器,本文分享了一些实用的使用技巧,希望能够对大家的工作和生活提供一些助力。贴士:不同版本的Chrome,其功能或菜单可能存在细微差异。本文使用的Chrome浏览器...

如何使用 Chrome 中的检查元素工具

如何在Chrome中使用Inspect元素启动检查元素工具的最简单方法是右键单击网页上的任何内容。然后,只需单击列表底部的“检查”选项。通常,Element是默认启动的。如果没有,那么您可以...

Chromedriver 在 Python 中查看源代码的方法

Python中可以属性来查看需要爬取的网站的源代码。对应具体的是:chrome.page_source需要注意的是首先需要导入包fromselenium.webdriverimportChro...

手机怎么查看HTML 文件

在手机端实现对HTML文件(包含本地文件和网页源代码)的查看,可借助多种途径和工具。以下为详细的操作步骤和实用的工具推荐:一、本地HTML文件的查看(一)利用浏览器打开定位文件:在手机的文件管...

防止学生查看答案,竟然让Chrome禁止查看源码功能

Chrome现在是很多人的主力浏览器,用户多了需求也会很多。Chrome每天都会收到很多意见和功能需求。然而有一个需求很奇怪,要求Chrome禁止查看网页源码的功能。这是怎么回事呢?1.问题背景我们都...

如何查看网页的HTML源代码?这里提供详细步骤

每个主要的互联网浏览器都允许用户查看任何网页的HTML(超文本标记语言)源代码。以下部分包含有关在每个主要浏览器中查看源代码的多种方法的信息。引言查看网页的源代码时,服务器处理的信息和代码不会出现。例...

如何在浏览器账中查看网页的HTML源代码?

浏览html网页,查看其源代码,可以帮助我们了解该版网页的信息以及架构,每个浏览器都是允许用户查看他们访问的任何网页的HTML源代码的。以下编程狮小师妹就介绍几个常见浏览器的查看网页HTML源代码...

python基础快速入门

Python是一种简单易学且功能强大的编程语言,适合初学者入门学习,不论是就业还是做副业赚钱或者是提高自己办公效率都是不错的选择。1.安装Python下载Python:前往Python官...

Python 如何创建一个 JSON 对象

我们可以使用下面的代码来在Python中创建一个JSON对象。importjsondata={}data['key']='value'json...

牛啊牛啊:C#/.NET一行代码把实体类类型转换为Json数据字符串

前言:刚好要做一个类似Swagger那种可以快速访问api接口和演示的功能,于是就把做的思路写到包里面去,给有需要的小伙伴提供学习和参考。首先,安装1.0.10以及以上版本的Wesky.Net.Op...

基于Jackson封装Json工具类:Java对象与JSON字符串的高效转换

在现代的Web开发和API设计中,JSON(JavaScriptObjectNotation)作为一种轻量级的数据交换格式被广泛使用。它易于人阅读和编写,同时也易于机器解析和生成。在Java生态系...

Python数据持久化:JSON

编程派微信号:codingpy上周更新的《ThinkPython2e》第14章讲述了几种数据持久化的方式,包括dbm、pickle等,但是考虑到篇幅和读者等因素,并没有将各种方式都列全。本文将介绍...

js中关于json语法和json遍历问题

什么是JSON?JSON英文全称JavaScriptObjectNotationJSON是一种轻量级的数据交换格式。JSON是独立的语言*JSON易于理解。json对象使用js语法,但...

Python 使用 JsonPath 完成接口自动化测试中参数关联和数据验证

背景:接口自动化测试实现简单、成本较低、收益较高,越来越受到企业重视RESTFul风格的API设计大行其道JSON成为主流的轻量级数据交换格式痛点接口关联接口关联也称为关联参数。在应用业务接口...

Spark读取kafka复杂嵌套json的最佳实践

随着互联网的更进一步发展,信息浏览、搜索以及电子商务、互联网旅游生活产品等将生活中的流通环节在线化,对于实时性的要求进一步提升,而信息的交互和沟通正在从点对点往信息链甚至信息网的方向发展,这样必然带来...