有许多很好的方法可以从JSON自动生成C#代码,例如此处和此处.
但是,生成的代码不包含属性初始值设定项.例如,以下JSON:
{
"Name" : "Blastoise"
}
Run Code Online (Sandbox Code Playgroud)
得到反序列化:
public class RootObject
{
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
大概这是设计的,因为JSON中使用的值可能会被覆盖,所以添加初始化器可能会让那些不想要它们的人烦恼.
但如果我想要怎么办?如果没有手动手动添加每个值,有没有办法将JSON反序列化为以下内容?
public class RootObject
{
public string Name { get; set; } = "Blastoise";
}
Run Code Online (Sandbox Code Playgroud)
显然,在这种情况下,手动编辑很容易,但对于较大的JSON对象,手动编辑变得乏味.
小智 5
有没有办法将JSON反序列化为以下内容?
使用您提到的转换器的源代码.
第204行快速更改
sw.WriteLine(prefix + "public {0} {1} {{ get; set; }} = {2};", field.Type.GetTypeName(), field.MemberName, field.GetExamplesText());
Run Code Online (Sandbox Code Playgroud)
给我的结果与你描述的类似
internal class SampleResponse1
{
[JsonProperty("Name")]
public string Name { get; set; } = "Blastoise";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
746 次 |
| 最近记录: |