在 JSON.NET 中平展嵌套的 JSON 对象

本文关键字:JSON 嵌套 对象 NET | 更新日期: 2023-09-27 17:56:52

我有一个简单的JSON,如下所示:

{
    "id": 123,
    "name": "BaseName",
    "variation": { "name": "VariationName" }
}

有没有一种简单的方法可以通过 JSON.NET 反序列化将其映射到:

class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string VariationName { get; set; }
}

我可能可以使用自定义转换器来做到这一点,但我希望有一种更简单的方法,即使用属性注释类,这些属性将给出仅使用 one 属性反序列化变体对象的指令。

在 JSON.NET 中平展嵌套的 JSON 对象

您可以为variation设置一个类,并将VariationName设置为仅获取属性

class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public Variation variation { get; set; }
    public string VariationName { get { return variation.VariationName; } }
}
class variation 
{
    public string name { get; set; }
}