【发布时间】:2018-07-02 21:56:42
【问题描述】:
我正在尝试编写一个交易机器人作为学习体验(别担心,我不会使用它)。我正在尝试反序列化传入的数据,但没有运气。这是我第一次在 C# 中使用 json,但我在其他语言中也这样做过,当然不是很擅长。
我创建了一个如下所示的类:
public class Coin
{
public string symbol { get; set; }
public double price {get;set;}
}
我正在像这样获取和读取数据:
using (WebClient w = new WebClient())
{
try
{
var json = w.DownloadString("https://api.binance.com/api/v3/ticker/price");
int length = json.Length;
string newJson = json.Substring(1, length-2);
//had to create new string because having [] made it crash
Coin coin = JsonConvert.DeserializeObject<Coin>(newJson);
Console.Write(coin); // this does not print anything
}catch(JsonReaderException e){}
}
传入数据如下所示(或直接点击链接):
{"symbol":"ETHBTC","price":"0.07190100"},{"symbol":"LTCBTC","price":"0.01298100"}
现在,我试图只得到其中一个,但我得到了所有。首先我猜我的 Coin 类有问题,其次我不知道如何访问其中一个。
谢谢
【问题讨论】:
-
您使用的 API 调用应该返回所有代码/价格对。你到底想得到哪一个?您需要任何特定的符号吗?
标签: c# json deserialization