And*_*osa 3 c# json json.net deserialization json-deserialization
我正在尝试反序列化一个 JSON 有效负载,由于我无法控制的原因,该有效负载包含一个与其类名完全相同的属性(即成员)。就像是:
{
...,
"Id": {
"A" : "Hello",
"B" : "World",
...
"Id" : 1
},
...
}
Run Code Online (Sandbox Code Playgroud)
当我从这个有效负载派生一个类时,我需要这样的东西:
class Id{
public string A, B;
public int Id;
}
Run Code Online (Sandbox Code Playgroud)
显然,编译器抱怨:成员名称不能与封闭类型相同
我如何重命名该成员(或用于该效果的类),以便 Json.NET(我用来使它更容易的库)能够通过调用来“水合”有效负载JsonConvert.DeserializeObject<T>?
对属性使用不同的名称,并向 json.net 提供如何反序列化该属性的提示...
public class Id
{
public string A {get; set;}
public string B {get; set;}
[JsonProperty("Id")]
public int IdProp;
}
Run Code Online (Sandbox Code Playgroud)