Deserialize json, который имеет некоторое имя свойства, начиная с числа

Данные JSON выглядят следующим образом:

[
    {
        "market_id": "21",
        "coin": "DarkCoin",
        "code": "DRK",
        "exchange": "BTC",
        "last_price": "0.01777975",
        "yesterday_price": "0.01770278",
        "change": "+0.43",
        "24hhigh": "0.01800280",
        "24hlow": "0.01752015",
        "24hvol": "404.202",
        "top_bid": "0.01777975",
        "top_ask": "0.01790000"
    }
]

Обратите внимание, что эти 3 свойства здесь 24high, 24hhlow и 24hvol как вы делаете для этого класс. Мне нужны все эти свойства, кстати, а не только те 3 свойства, о которых я говорил.

Ответ 1

Вы должны использовать JSON.NET или аналогичную библиотеку, которая предлагает несколько дополнительных параметров десериализации. С JSON.NET все, что вам нужно, это добавить атрибут JsonProperty и указать его настраиваемое имя, которое появляется в результате JSON. Вот пример:

   public class MyClass
   {
        [JsonProperty(PropertyName = "24hhigh")]
        public string Highest { get; set; }
        ...

Теперь для десериализации:

    string jsonData = ...    
    MyClass deserializedMyClass = JsonConvert.DeserializeObject<MyClass>(jsonData);