C# 将JToken转换为对象列表
我从以下站点获得json字符串:C# 将JToken转换为对象列表,c#,json,C#,Json,我从以下站点获得json字符串: { "bids": [["6500.12", "0.45054140"], ["6500.11", "0.45054140"]], //[price,size] "asks": [["6500.16", "0.57753524"], ["6500.15", "0.57753524"]] } 在Newtonsoft Json的帮助下,我尝试获得JToken: var content = JObject.Parse(responce)["
{
"bids": [["6500.12", "0.45054140"],
["6500.11", "0.45054140"]], //[price,size]
"asks": [["6500.16", "0.57753524"],
["6500.15", "0.57753524"]]
}
在Newtonsoft Json的帮助下,我尝试获得JToken:
var content = JObject.Parse(responce)["data"].Children<JProperty>().FirstOrDefault(x=>x.Name=="asks").Value;
然后,我想把这个JToken转换成这个对象,但是我不知道如何转换
public class PriceValue
{
public string Price { get; set; }
public string Value { get; set; }
}
public List<PriceValue> Sell { get; set; }
public List<PriceValue> Buy { get; set; }
你可以试试JObject和JArray
您可能必须手动执行此操作。内容可以转换为JArray,但您必须手动创建一个新的PriceValue,并将Price设置为JArray的第一个元素,将Value设置为最后一个元素。类似地,该PriceValue需要添加到手动销售或购买中,显然是根据阵列中的位置。
var json = File.ReadAllText(filepath);
var jObject = JObject.Parse(json);
var bids = JArray.Parse(jObject["bids"].ToString());
var Sell = bids.Select(x =>
new PriceValue
{
Price = x[0].ToString(),
Value = x[1].ToString()
})
.ToList();
var asks = JArray.Parse(jObject["asks"].ToString());
var Buy = asks.Select(x =>
new PriceValue
{
Price = x[0].ToString(),
Value = x[1].ToString()
})
.ToList();