C#json反序列化到字典(json.NET) 问题
您好,请帮助我将Json反序列化到C#字典中,其中KeyValuePair的键='symbol'的值,而'cur'我不想反序列化 我的JSONC#json反序列化到字典(json.NET) 问题,c#,json,dictionary,C#,Json,Dictionary,您好,请帮助我将Json反序列化到C#字典中,其中KeyValuePair的键='symbol'的值,而'cur'我不想反序列化 我的JSON [ { "cur": "BNT", "symbol": "BNT/BTC", "last": 0.00069999, "high": 0.000725, "low": 0.000631, "volume": 11.83176914, "vwap": 0.00066075, "max_bi
[
{
"cur": "BNT",
"symbol": "BNT/BTC",
"last": 0.00069999,
"high": 0.000725,
"low": 0.000631,
"volume": 11.83176914,
"vwap": 0.00066075,
"max_bid": 0.000725,
"min_ask": 0.000631,
"best_bid": 0.00062001,
"best_ask": 0.0007
},
{
"cur": "FST",
"symbol": "FST/BTC",
"last": 0.00000113,
"high": 0.00000136,
"low": 0.0000011,
"volume": 105727.64821274,
"vwap": 0.00000115,
"max_bid": 0.0000012,
"min_ask": 0.00000108,
"best_bid": 0.00000115,
"best_ask": 0.00000127
}
]
C#
公共类SomeClass
{
字典{get;set;}
}
公务舱自动售票机
{
公共小数最后{get;set;}
公共十进制高位{get;set;}
公共十进制低位{get;set;}
公共十进制卷{get;set;}
公共十进制Vwap{get;set;}
公共十进制MaxBid{get;set;}
公共十进制MinAsk{get;set;}
公共十进制最佳出价{get;set;}
公共十进制最佳任务{get;set;}
}
我想我需要使用CustomCreationConverter,但我不知道如何使用:)
谢谢你的json是一个数组/列表。反序列化到
List<Ticker>
您可能不需要自定义转换器。你确实需要阅读,做更多的研究,提出更清晰的问题。看:Dastun在这篇文章中的答案就是你所需要的。我认为,
symbol
的可能重复是关键,否则他们将不知道数据代表什么……但谁知道,它的要求太差了。不,我需要在字典中反序列化它。然后我可以很容易地提取出所需的对,例如:Ticker Ticker=dict[“BTC/USD];@N.Kit我也在我的答案中包含了它。请再读一遍(当然可以使用一些json.net技巧,如JsonConverter,但两行解决方案更容易理解和维护)@Eser抱歉,我没有看到:)
List<Ticker>
public class Ticker
{
public string cur { get; set; }
public string symbol { get; set; }
public double last { get; set; }
public double high { get; set; }
public double low { get; set; }
public double volume { get; set; }
public double vwap { get; set; }
public double max_bid { get; set; }
public double min_ask { get; set; }
public double best_bid { get; set; }
public double best_ask { get; set; }
}
var list = JsonConvert.DeserializeObject<List<Ticker>>(jsonstring);
var dict = list.ToDictionary(x => x.symbol, x => x);