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"
}
]
请注意这24个高度,24hhlow和24hvol的3个属性 你是如何为此而上课的。顺便提一下,我需要所有这些属性,而不仅仅是我提到的那3个属性。
答案 0 :(得分:20)
您应该使用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);
答案 1 :(得分:2)
对于.NET Core 3.0及更高版本,您现在可以使用System.Text.Json
命名空间。如果您使用的是:
public class MyClass
{
...
[JsonPropertyName("24hhigh")]
public string twentyFourhhigh { get; set; }
...
}
您可以使用JsonPropertyName
属性。