Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#json反序列化到字典(json.NET) 问题_C#_Json_Dictionary - Fatal编程技术网

C#json反序列化到字典(json.NET) 问题

C#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

您好,请帮助我将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_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);