【问题标题】:Flattening nested JSON object in JSON.NET在 JSON.NET 中展平嵌套的 JSON 对象
【发布时间】:2015-06-18 13:53:33
【问题描述】:

我有一个像这样的简单 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; }
}

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

【问题讨论】:

标签: c# json.net


【解决方案1】:

您可以为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; }
}

【讨论】:

  • 我的例子有点简化,所以它不是那么优雅,但这可能是最简单的方法。我很好奇我是否缺少任何技巧。我看看有没有其他建议,采纳吧。
猜你喜欢
  • 2021-10-19
  • 2012-05-29
  • 2020-03-02
  • 1970-01-01
  • 2019-01-17
  • 2019-01-26
  • 2020-01-21
  • 2018-10-24
相关资源
最近更新 更多