0

我在解析 JSON 以在 C# 中列出时遇到问题。我正在使用 Json.net 来解析 json。我的问题是我收到错误“将值“高”转换为类型时出错”。请帮我。

我的json:

{"sold":{"high":40.64625,"low":35.02,"avg":37.929384985,"buy":40.28,"sell":40.3}}

我的代码:

public class sold
{
    public string high { get; set; }
    public string low { get; set; }
    public string avg { get; set; }
    public string buy { get; set; }
    public string sell { get; set; }

}

   void webClient_DownloadStringCompleted(object sender, DownloadStringCompletedEventArgs e)
    {
        JObject something = JObject.Parse(e.Result);
        IList<JToken> results = something["sold"].Children().ToList();
        IList<sold> searchResults = new List<sold>();
        foreach (JToken result in results)
            {
sold searchResult = JsonConvert.DeserializeObject<sold>(result.ToString());
searchResults.Add(searchResult);
}
4

2 回答 2

0

属性 high 是 double 类型,你可以尝试使用你的类的这个实现来出售

public class sold
{
public double high { get; set; }
public double low { get; set; }
public double avg { get; set; }
public double buy { get; set; }
public double sell { get; set; }
}
于 2013-03-05T14:35:54.180 回答
0

尝试为已售商品数组添加一个包装类,并在一次调用中反序列化整个数组。我没有用 json.net 试过这个,但它适用于 DataContractJsonSerializer。

public class SoldItemList
{
     public SoldItem[] sold { get;set; }
}
public class SoldItem
{
    public double high { get; set; }
    public double low { get; set; }
    public double avg { get; set; }
    public double buy { get; set; }
    public double sell { get; set; }
}
于 2013-03-06T08:22:31.110 回答