【发布时间】:2015-07-29 13:52:01
【问题描述】:
我遇到了一个错误:
使用代码时:
var json = webClient.DownloadString("http://backpack.tf/api/IGetCurrencies/v1/?key=54907d14ba8d88b17d8b4655&appid=440");
Newtonsoft.Json.Linq.JObject o = Newtonsoft.Json.Linq.JObject.Parse(json);
string BBPrice_low = (string)o["response"]["currencies"]["keys"]["price"]["value"];
Console.WriteLine("\"" + BBPrice_low + "\"");
int BPrice_low = (Convert.ToInt32(BBPrice_low));
但最后一行出现错误。 json字符串为“15.77”时无法转换,是可转换的字符串,对吧?
【问题讨论】:
-
我建议查阅文档:msdn.microsoft.com/en-us/library/sf1aw27b(v=vs.110).aspx - 当
value does not consist of an optional sign followed by a sequence of digits (0 through 9).时抛出FormatException -
这个问题是由无法再复制的问题或简单的印刷错误引起的。
-
这段代码不应该编译,名称
BBPrice_high在当前上下文中不存在。也许您的意思是BPrice_high,但这也不应该编译,因为您将尝试读取未分配的变量(您在同一变量声明中使用该变量)。也许你的意思是BBPrice_low?