使用Json.Net获取数据

时间:2016-11-22 19:03:57

标签: json vb.net json.net

我想开始深入研究本网站使用的一些API。 http://api.champion.gg/

但是,我在理解如何获取特定数据方面遇到了一些麻烦。 例如,其中一个API网址会返回此数据。

    [
  {
    "games": 1650,
    "winPercent": 46.9,
    "order": [
      "Q",
      "W",
      "E",
      "Q",
      "Q",
      "R",
      "Q",
      "W",
      "Q",
      "W",
      "R",
      "W",
      "W",
      "E",
      "E",
      "R",
      "E",
      "E"
    ],
    "role": "Support"
  },
  {
    "games": 9769,
    "winPercent": 51.8,
    "order": [
      "Q",
      "W",
      "E",
      "Q",
      "Q",
      "R",
      "Q",
      "W",
      "Q",
      "W",
      "R",
      "W",
      "W",
      "E",
      "E",
      "R",
      "E",
      "E"
    ],
    "role": "Middle"
  }
]

并且喜欢抓住

  • 游戏
  • winPercent
  • 订单(我明白这是一个数组?)

我可以使用JSON类生成器生成JSON类吗?那会有用吗?如果是这样,我将如何使用它。

编辑:我生成了课程..

所以我的班级看起来像

`Public Class Class1
    Public Property games As Integer
    Public Property winPercent As Single
    Public Property order() As String
    Public Property role As String
End Class`

我能做到吗?

`        Dim obj = JsonConvert.DeserializeObject(Of Class1)(RichTextBox1.Text)
        MsgBox(obj.games)`

1 个答案:

答案 0 :(得分:1)

您的类是正确的,您可以使用它来反序列化您的JSON,如下所示:

var result = JsonConvert.DeserializeObject<List<Class1>>(json);

然后,使用循环(例如foreach),您可以访问result

的元素
foreach (var item in result)
{
    Console.WriteLine(item.games);
}

这段代码在C#中,但你明白了。