我正在开发一个Android c#
应用,它从特定的JSON
获取价格(url
格式),然后解析它以获得价格。我尝试过多种方法,但每种方法都抛出一个特定的异常。这是我最近的一个:
public string getprice()
{
HttpWebRequest webReq = (HttpWebRequest)HttpWebRequest.Create("https://api.cryptonator.com/api/ticker/etc-usd");
webReq.CookieContainer = new CookieContainer();
webReq.Method = "GET";
using (WebResponse response = webReq.GetResponse())
{
using (Stream stream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(stream);
var array = JsonValue.Parse(reader.ReadToEnd());
string price = array["ticker"]["price"].ToString();
return price;
}
}
}
因此,有时它工作正常,有时它会抛出此异常
system.argumentexception:意外字符'<'在第1行第0列
它已经调试了我的应用程序19次来测试它,它在前15次运行正常,然后在每次执行之后,它会抛出上面的错误。我不知道为什么会这样。你能帮帮我吗?
修改
答案 0 :(得分:3)
此问题的最可能原因是响应实际上不是JSON。
这里的线索是<
。
造成这种情况的两个常见原因是:
<
)检查原始请求(例如使用Fiddler)以查看实际响应 - 或者在调试模式下查看原始响应。