Добавление в данные более одного ключа в data
:
{
"status": "ok",
"meta": {
"count": 1
},
"data": {
"504969624": {
"statistics": {
"all": {
"wins": 1921
}
}
},
"504969625": {
"statistics": {
"all": {
"wins": 42
}
}
}
}
}
Это помогает приложению QuickType создавать структуру класса C#, которая выглядит следующим образом:
// <auto-generated />
//
// To parse this JSON data, add NuGet 'Newtonsoft.Json' then do:
//
// using QuickType;
//
// var stats = Stats.FromJson(jsonString);
namespace QuickType
{
using System;
using System.Collections.Generic;
using System.Globalization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
public partial class Stats
{
[JsonProperty("status")]
public string Status { get; set; }
[JsonProperty("meta")]
public Meta Meta { get; set; }
[JsonProperty("data")]
public Dictionary<string, Datum> Data { get; set; }
}
public partial class Datum
{
[JsonProperty("statistics")]
public Statistics Statistics { get; set; }
}
public partial class Statistics
{
[JsonProperty("all")]
public All All { get; set; }
}
public partial class All
{
[JsonProperty("wins")]
public long Wins { get; set; }
}
public partial class Meta
{
[JsonProperty("count")]
public long Count { get; set; }
}
public partial class Stats
{
public static Stats FromJson(string json) => JsonConvert.DeserializeObject<Stats>(json, QuickType.Converter.Settings);
}
public static class Serialize
{
public static string ToJson(this Stats self) => JsonConvert.SerializeObject(self, QuickType.Converter.Settings);
}
internal static class Converter
{
public static readonly JsonSerializerSettings Settings = new JsonSerializerSettings
{
MetadataPropertyHandling = MetadataPropertyHandling.Ignore,
DateParseHandling = DateParseHandling.None,
Converters =
{
new IsoDateTimeConverter { DateTimeStyles = DateTimeStyles.AssumeUniversal }
},
};
}
}