遍历Twitch Json
我还不是很擅长这个,不确定我的主题是否准确地描述了我需要什么。我知道答案可能已经给出,我很难理解答案,因为它们并不直接适用于我的数据。我正在试图弄清楚如何遍历此URL中的数据 这就是我一直在用的遍历Twitch Json,json,vb.net,iteration,twitch,Json,Vb.net,Iteration,Twitch,我还不是很擅长这个,不确定我的主题是否准确地描述了我需要什么。我知道答案可能已经给出,我很难理解答案,因为它们并不直接适用于我的数据。我正在试图弄清楚如何遍历此URL中的数据 这就是我一直在用的 Dim url = "http://tmi.twitch.tv/group/user/" & ConnectionInformation.Channel.TrimStart("#") & "/chatters" Dim json As String = Nothing Dim wc A
Dim url = "http://tmi.twitch.tv/group/user/" & ConnectionInformation.Channel.TrimStart("#") & "/chatters"
Dim json As String = Nothing
Dim wc As New WebClient()
json = wc.DownloadString(url)
Dim root As JToken = JToken.Parse(json)
For Each item As JToken In root("chatters")
'I've tried several things here and I can't find a good way to iterate through the viewers found here.
Next
我想我很难把观众放在一个集合中,这样我就可以反复浏览他们,有人能给我指出正确的方向吗
谢谢。“Chatters”实际上是根对象中的一种类型。如果要创建类,它们将如下所示:
Public Class RootChatter
Public Property _links As _Links
Public Property chatter_count As Integer
Public Property chatters As Chatters
End Class
Public Class _Links
End Class
Public Class Chatters
Public Property moderators As String()
Public Property staff As String()
Public Property admins As String()
Public Property global_mods As String()
Public Property viewers As String()
End Class
查看器是Chatters属性(Root.Chatters.Viewers
)中的数组。没有课堂:
Dim root As JToken = JToken.Parse(jstr)
Dim chatters = root("chatters")("viewers")
For n As Integer = 0 To chatters.Count - 1
Console.WriteLine(chatters(n))
Next
输出:
04paynem0晨星0
0rclann
0riginus
10108abc 如果要反序列化到类:
Dim jc = JsonConvert.DeserializeObject(Of RootChatter)(jstr)
Dim viewers = jc.chatters.viewers
这应该是一个难以置信的帮助。它甚至有助于解释其他一些线程在谈论什么。我没有意识到我看到了两种剥猫皮的方法。我认为查看猫皮的类格式来理解它们之间的关系等总是有帮助的,即使你要使用
JToken.Parse
。对我来说,它似乎比编码的JSON字符串更容易阅读。如果你将JSON复制到剪贴板,编辑菜单-粘贴特殊-粘贴JSON作为类将为你创建类-有时你必须调整内容,但它为你提供了一个快速的起点。是的,它确实有助于查看这些关系,但你失去了我对编辑菜单的了解。你是说在VisualStudio内部吗?我看不到这些粘贴特殊选项。如果剪贴板上有JSON字符串(数据),VS将从该字符串创建类。也许它不在你的版本中-我有2012,但不确定它是什么时候添加的。是一个在线转换器-VB或C#类