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

我有一个像这样的简单
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属性反序列化变体对象的指令.

最佳答案 您可以为变体设置一个类,并将VariationName设置为get-only属性

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; }
}
点赞