Учитывая следующую вложенная JSON строки:Deserialize вложенная 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:
Id: 10
Type:
Что мне нужно реализовать, чтобы сообщить Json.NET использовать «/» в качестве пути навигации к желаемому вложенному свойству?
Вы не можете использовать JsonProperty для specift навигации path.BTW почему бы вам просто передать простой объект? –