Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
265 views
in Technique[技术] by (71.8m points)

c# - How can I deserialize this JSON with JsonConvert?

I have this JSON and I cannot figure out how to convert it to a List of objects in C#.

Here is the 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
  }
}

And the code I've tried using:

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);

to no avail. How can I deserialize this JSON into lists of these objects using Newtonsoft's JSON library (Json.Net)?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can use

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

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...