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

vvo*_*dra 5 c# json.net

我有一个像这样的简单 JSON:

{
    "id": 123,
    "name": "BaseName",
    "variation": { "name": "VariationName" }
}
Run Code Online (Sandbox Code Playgroud)

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

class Product
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string VariationName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

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

DLe*_*Leh 3

您可以为其设置一个类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; }
}
Run Code Online (Sandbox Code Playgroud)