安装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(); }