提问者:小点点

雅虎财经API调用返回空白?Xamarin型


我正在使用Xamarin.Forms进行一个股票观察列表项目。在我使用IEX Cloud API之前收集股票价格,但我正在尝试使用Yahoo Finance API。Im使用以下代码,但result返回空。

namespace Stock_WatchList
{
    public partial class MainPage : ContentPage
    {
        public string ApplePrice { get; set; }
        public string NioPrice { get; set; }
        public string PalantirPrice { get; set; }
        public string TeslaPrice { get; set; }
        public string XpengPrice { get; set; }
        public string AmazonPrice { get; set; }
        public string PinduoduoPrice { get; set; }
        public string DisneyPrice { get; set; }
        public string AmdPrice { get; set; }
        public string TwitterPrice { get; set; }

        public MainPage()
        {
            InitializeComponent();


            WebClient yahoo = new WebClient();
            string yahooPrices = yahoo.DownloadString("https://query1.finance.yahoo.com/v7/finance/chart/AAPL?interval=5m ");
            MatchCollection YahooMatches = System.Text.RegularExpressions.Regex.Matches(yahooPrices, @"""([^""]+)"":{""quote"":{""latestPrice"":(\d+(?:.\d+))}}");
            foreach (Match match in YahooMatches)
            {
                switch (match.Groups[1].Value)
                {
                    case "regularMarketPrice":
                        ApplePrice = $"$ {match.Groups[2].Value}";
                        break;
                }
            }

            BindingContext = this;
        }

        private async void ImageButton_Clicked(object sender, EventArgs e)
        {
            await Navigation.PushAsync(new SearchPage());
        }
    }
} 

有人能帮我解决这个问题吗?


共1个答案

匿名用户

我使用Postman调用了那个yahoo api,并以JSON的形式接收数据。我可以很容易地从那个程序中看到数据,我同意Jason的观点,在这种情况下,JSON解析器会更好地为您服务。