使用 Json.Net 解析 JSON 数组

乔迪·盖特

我有一个看起来像这样的 json:

"events": {
  "Arsenal_West Ham United": {
    "sport": "EPL",
    "sport_display": "EPL",
    "participants": [
      "Arsenal",
      "West Ham United"
    ],
    "home_team": "Arsenal",
    "commence": "1524400200",
    "status": "Pending",
    "sites": {
      "williamhill": {
        "odds": {
          "h2h": [
            "1.50",
            "6.50",
            "4.50"
          ]
        },
        "last_update": 1524385803
      }
    }
  }
 }

虽然我设法阅读了提供的大部分数据,但我已经厌倦了使用以下内容从“站点”中读取数据。

var sites = match.Value["sites"];

                foreach(var site in sites)
                {
                    Console.WriteLine(site);
                    Console.ReadKey();
                }

但这会返回

"williamhill": {
        "odds": {
          "h2h": [
            "1.50",
            "6.50",
            "4.50"
          ]
        },
        "last_update": 1524385803
      }

我想单独阅读站点中的每个项目,这意味着例如我想将“williamhill”存储在一个字符串中并单独获得每个赌注。

冥河

网站给了你一个结果,因为它有一个威廉希尔类型的结果

williamhill也会给你一个类型赔率的结果(你懂的)

如果你从类的角度看你的 json,你会看到类似的东西

public class Odds
{
    public List<string> h2h { get; set; }
}

public class Williamhill
{
    public Odds odds { get; set; }
    public int last_update { get; set; }
}

public class Sites
{
    public Williamhill williamhill { get; set; }
}
//here the root object is the sites but ofcourse the real root object is events
public class RootObject
{
    public Sites sites { get; set; }
}

string json = // yourJson
JObject obj = JObject.Parse(json);

var h2h = obj["events"]["Arsenal_West Ham United"]["sites"]["williamhill"]["odds"]["h2h"];
foreach (var item in h2h)
{
   Debug.WriteLine(item);
}

编辑,查看博彩公司

  JToken sites = obj["events"]["Arsenal_West Ham United"]["sites"];

  foreach (JProperty content in sites)
  {
      Debug.WriteLine(content.Name);

   }

输出

威廉希尔

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章