如何从Json提要中动态获取项目

本文关键字:动态 获取 项目 Json | 更新日期: 2023-09-27 18:25:23

我需要从谷歌股票馈送中提取并显示一些json数据:

https://finance.google.com/finance/info?client=ig&q=纽约证券交易所:BHP

唯一的问题是我不知道数据是什么。客户希望传入一个逗号分隔的值列表,告诉我的代码要提取哪些项。因此,我计划传入一个命名项数组,告诉提要我想要哪些项的值,因此理论上可以将传入的值与等效的json项名称相匹配。它不会总是相同的项目或项目数量。

我如何动态地做到这一点(我使用的是json.net)?

Json数据样本:

[{
    "id": "4905",
    "t": "BHP",
    "e": "NYSE",
    "l": "26.90",
    "l_fix": "26.90",
    "l_cur": "26.90",
    "s": "0",
    "ltt": "6:01PM EST",
    "lt": "Dec 2, 6:01PM EST",
    "lt_dts": "2015-12-02T18:01:42Z",
    "c": "-0.41",
    "c_fix": "-0.41",
    "cp": "-1.50",
    "cp_fix": "-1.50",
    "ccol": "chr",
    "pcls_fix": "27.31"
}]

用户可能传入的CSV值示例:

t、 e,l,cp_fix

如何从Json提要中动态获取项目

您可以使用System.Web.Helpers命名空间中的json类将json字符串反序列化为dynamic对象。如下所示:

dynamic Data = Json.Decode(json);

它包含在MVC框架中,作为对.NET4框架的附加下载。然后您可以使用Data.PropertyName 访问您想要的属性