当前位置: 首页 > 面试题库 >

如何使用JsonConvert反序列化此JSON?

韦寒
2023-03-14
问题内容

我有此JSON,但无法弄清楚如何将其转换为C#中的对象列表。

这是JSON:

{
  "2": {
    "sell_average": 239,
    "buy_average": 238,
    "overall_average": 240,
    "id": 2
  },
  "6": {
    "sell_average": 184434,
    "buy_average": 182151,
    "overall_average": 189000,
    "id": 6
  },
  "8": {
    "sell_average": 11201,
    "buy_average": 1723,
    "overall_average": 180,
    "id": 8
  }
}

我尝试使用的代码:

public class ItemSummaryModel
{
    public string Id { get; set; }
    public ItemSummary ItemSummary { get; set; }
}

public class ItemSummary
{
    public int Sell_Average { get; set; }
    public int Buy_Average { get; set; }
    public int Overall_Average { get; set; }
    public int Id { get; set; }
}

List<ItemSummaryModel> models =
    JsonConvert.DeserializeObject<List<ItemSummaryModel>>(jsonSummary);

无济于事。如何使用Newtonsoft的JSON库(Json.Net)将JSON反序列化为这些对象的列表?


问题答案:

您可以使用

var dict = JsonConvert.DeserializeObject<Dictionary<int, ItemSummary>>(json);
var items = dict.Values.ToList();  //if you want a List<ItemSummary>;


 类似资料:
  • 问题内容: 我们有一个JSON对象,其中一个对象的名称中带有短划线。例如下面。 我们如何反序列化此json? 问题答案: 您可以使用DataContractJsonSerializer实现此目的 现在您可以使用以下方式反序列化它:

  • 我需要通过flink消费Kafka,不幸的是,Kafka消息是在serde中使用原型,完全不知道如何处理它,这里是来自互联网的代码,但我不能使它工作。 这不起作用,它会让NPE: 有人知道我做错了什么吗?使用twitter ProtobufSerializer是唯一值得拥有protobuf的方法吗?还是还有别的路要走?

  • 问题内容: 我有一个问题。我想使用JAXB将一个对象转换为另一个对象。就像在中,我有一个class 和另一个class ,它们都有相同的参数,实际上都是相同的(复制粘贴),但是包不同。我想使用进行它们之间的转换。 怎么做,请帮帮我。 问题答案: 您可以执行以下操作。 注意: 不需要利用JAXBSource将数据具体化为XML。 它在对象模型上不需要任何注释。 com.home.Student co

  • 嗨,我有LogEventObject在客户端用于记录事件,我想使用REST API将其发送到服务器。我将LogEventObject转换为json字符串,并通过REST将其作为有效载荷发送。在服务器端,我使用Groovy,当我尝试做对象apper.read值()时,我得到以下错误。 com.fasterxml.jackson.databind.JsonMappingExc0019:找不到非具体的集

  • 问题内容: 我是C ++的新手。使用序列化和反序列化类型数据的最简单方法是什么。我发现了一些使用示例,但它们对我来说是晦涩的。 问题答案: 请注意,将键解释为路径,例如,将对“ ab” =“ z”放置将创建{“ a”:{“ b”:“ z”}} JSON,而不是{“ ab”:“ z”} 。否则,使用是微不足道的。这是一个小例子。

  • 我想用Jackson 2.13.1反序列化一个枚举。 我找到了以下解决方案。 仍将收到以下错误: