自动从JSON生成c#类,包括属性初始化器
本文关键字:包括 属性 初始化 JSON 生成 | 更新日期: 2023-09-27 18:14:20
有很多很棒的方法可以从JSON自动生成c#代码,比如这里和这里。
但是,结果代码不包含属性初始化式。例如,以下JSON:{
"Name" : "Blastoise"
}
被反序列化为:
public class RootObject
{
public string Name { get; set; }
}
可能这是设计的,因为JSON中使用的值可能会被覆盖,所以添加初始化器可能只会惹恼那些不想要它们的人。
但是如果我想要呢?除了手动添加每个值之外,是否有一种方法可以将JSON反序列化为以下内容?
public class RootObject
{
public string Name { get; set; } = "Blastoise";
}
显然,在这种情况下,手动编辑很容易,但对于较大的JSON对象,手动编辑就变得乏味了。
是否有办法将JSON反序列化为以下内容?
使用您提到的转换器的源代码。
在第204行快速修改
sw.WriteLine(prefix + "public {0} {1} {{ get; set; }} = {2};", field.Type.GetTypeName(), field.MemberName, field.GetExamplesText());
给出的结果与您描述的相似
internal class SampleResponse1
{
[JsonProperty("Name")]
public string Name { get; set; } = "Blastoise";
}