You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中从World Trading Data API的JSON提取股票价格

提取World Trading Data API返回的股票价格解决方案

嘿,我来帮你搞定从JSON里提取股票价格的问题!你已经完成了下载JSON的核心步骤,接下来用Newtonsoft.Json.Linq解析就很简单了,下面是具体的实现步骤和完整代码:

前提准备

首先确保你的项目已经安装了Newtonsoft.Json NuGet包(也就是常用的Json.NET),如果还没装,可以通过NuGet包管理器搜索安装,或者在Package Manager Console里执行命令:

Install-Package Newtonsoft.Json

完整代码实现

把你原来的get_stock_price方法修改成这样就可以提取价格了:

using Newtonsoft.Json.Linq;
using System.Net;

static void get_stock_price()
{
    string json;
    using (var web = new WebClient())
    {
        var url = "https://www.worldtradingdata.com/api/v1/stock?symbol=AAPL,MSFT,HSBA.L&api_token=Io4R1hqd0rLONZcMp6tJgupqjVEyO0pVJAo65a6QlJjHjVBpEyt5nm73zZ5X";
        json = web.DownloadString(url);
    }

    // 把JSON字符串解析为可操作的JObject对象
    JObject stockResponse = JObject.Parse(json);

    // 获取API返回的股票数据数组(对应JSON里的"data"字段)
    JArray stockList = (JArray)stockResponse["data"];

    // 遍历每只股票,提取代码和价格
    foreach (JToken stock in stockList)
    {
        string symbol = stock["symbol"].ToString();
        // 可以直接用字符串展示,或者转成decimal类型方便数值计算
        if (decimal.TryParse(stock["price"].ToString(), out decimal price))
        {
            Console.WriteLine($"股票 {symbol} 当前价格: {price:C}");
        }
        else
        {
            Console.WriteLine($"股票 {symbol} 的价格解析失败");
        }
    }
}

代码细节说明

  • JObject.Parse(json):将下载到的纯文本JSON转换成可通过键名访问的JObject实例
  • stockResponse["data"]:根据API返回的结构,顶级的data字段是一个数组,所以我们把它转成JArray来遍历
  • 遍历JArray里的每个JToken,每个Token对应一只股票的完整数据,直接通过["symbol"]、["price"]这样的键名就能提取对应的值
  • 用decimal.TryParse处理价格是为了避免格式异常,如果只是需要展示,直接用stock["price"].ToString()也完全没问题

额外小技巧

如果你只需要某一只特定股票的价格,比如Apple的AAPL,可以用LINQ直接筛选,不用遍历整个数组:

var appleStock = stockList.FirstOrDefault(s => s["symbol"].ToString() == "AAPL");
if (appleStock != null)
{
    decimal applePrice = decimal.Parse(appleStock["price"].ToString());
    Console.WriteLine($"Apple当前价格: {applePrice:C}");
}

内容的提问来源于stack exchange,提问作者lsama

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:08:02