考虑下面的嵌套的JSON字符串平坦类:反序列化JSON嵌套使用Json.NET
string s = @"
{
""id"": 10,
""fields"":{
""issuetype"": {
""name"": ""Name of the jira item""
}
}
}";
我怎么能它反序列化下面的“扁平化”类,使用JsonPropertyAttribute
:
public class JiraIssue
{
[JsonProperty("id")]
public int Id { get; set; }
[JsonProperty("fields/issuetype/name")]
public string Type { get; set; }
}
我试图指定一个基于/
的“导航”规则作为JSON属性名称中的分隔符。
基本上,我想指定JsonProperty("fields/issuetype/name")
应该被用来作为导航规则的嵌套属性fields.issuetype.name
,这显然是行不通的:
var d = Newtonsoft.Json.JsonConvert.DeserializeObject<JiraIssue>(s);
Console.WriteLine("Id:" + d.Id);
Console.WriteLine("Type" + d.Type);
以上仅识别编号:
Id: 10
Type:
我必须实现什么来告诉Json.NET使用“/”作为所需嵌套属性的导航路径?
你不能使用JsonProperty到specift导航path.BTW为什么你不应该只是通过普通的对象呢? –