In diesem Thread ging es um folgendes Porblem:
Spoiler anzeigen
Hallo liebe Community,
ich sitz mal wieder aufm Schlauch mit wahrscheinlich 5 Knoten drinne...
Ich spiel grad ein wenig mit der API von Twitch rum.
Ich hab mir nen Status gebastelt ob ein Stream läuft oder nicht. Funktioniert auch alles wunderbar.
Nun möchte ich aber, falls der Stream läuft die Daten des Streams auslesen. Dabei wird folgender String zurück gebracht:
Spoiler anzeigen
Jetzt versuche ich die ganze zeit bei diesem String in der ersten zeile nach "game": das Spiel auszulesen.
habs grad mit trim versucht aber iwie sitz ich da aufm Schlauch...
Dazu haben wir, gemeinsam als Community eine Lösung ermittelt.
Ich möchte für die Tipps folgenden Usern Danken, die mir nicht zum ersten Mal geholfen haben :):
@RodFromGermany
@ErfinderDesRades
@Rootbob91
@slice
@KaskadekingDE
So die Lösung:
Spoiler anzeigen
und die Klassen für meine Json
Hallo liebe Community,
ich sitz mal wieder aufm Schlauch mit wahrscheinlich 5 Knoten drinne...
Ich spiel grad ein wenig mit der API von Twitch rum.
Ich hab mir nen Status gebastelt ob ein Stream läuft oder nicht. Funktioniert auch alles wunderbar.
Nun möchte ich aber, falls der Stream läuft die Daten des Streams auslesen. Dabei wird folgender String zurück gebracht:
{"_links":{"self":"https://api.twitch.tv/kraken/streams/test","channel":"https://api.twitch.tv/kraken/channels/test"},"stream":{"_id":13092721904,"game":"League of Legends","viewers":34,"created_at":"2015-02-11T09:37:07Z","_links":{"self":"https://api.twitch.tv/kraken/streams/test"},"preview":{"small":"http://static-cdn.jtvnw.net/previews-ttv/live_user_test-80x45.jpg","medium":"http://static-cdn.jtvnw.net/previews-ttv/live_user_ltest-320x180.jpg","large":"http://static-cdn.jtvnw.net/previews-ttv/live_user_lol_mexico-640x360.jpg","template":"http://static-cdn.jtvnw.net/previews-ttv/live_user_lol_mexico-{width}x{height}.jpg"},"channel":{"_links":{"self":"https://api.twitch.tv/kraken/channels/test","follows":"https://api.twitch.tv/kraken/channels/lol_mexico/follows","commercial":"https://api.twitch.tv/kraken/channels/lol_mexico/commercial","stream_key":"https://api.twitch.tv/kraken/channels/lol_mexico/stream_key","chat":"https://api.twitch.tv/kraken/chat/lol_mexico","features":"https://api.twitch.tv/kraken/channels/lol_mexico/features","subscriptions":"https://api.twitch.tv/kraken/channels/lol_mexico/subscriptions","editors":"https://api.twitch.tv/kraken/channels/lol_mexico/editors","videos":"https://api.twitch.tv/kraken/channels/lol_mexico/videos","teams":"https://api.twitch.tv/kraken/channels/lol_mexico/teams"},"background":null,"banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/lol_mexico-channel_header_image-ac75b4633812e211-640x125.png","broadcaster_language":"es","display_name":"LoL_Mexico","game":"League of Legends","logo":"http://static-cdn.jtvnw.net/jtv_user_pictures/lol_mexico-profile_image-75717d131dd6aec0-300x300.png","mature":false,"status":"Weboz con Tortilla: Duo uPss & Doble R Carranco Mankeando ","partner":true,"url":"http://www.twitch.tv/lol_mexico","video_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/lol_mexico-channel_offline_image-5efb6ae58d38cf2f-640x360.png","_id":40254000,"name":"lol_mexico","created_at":"2013-02-12T06:18:10Z","updated_at":"2015-02-11T10:16:45Z","delay":0,"followers":8861,"profile_banner":"http://static-cdn.jtvnw.net/jtv_user_pictures/lol_mexico-profile_banner-5e65f117784b73b7-480.png","profile_banner_background_color":null,"views":559397,"language":"en"}}}
Jetzt versuche ich die ganze zeit bei diesem String in der ersten zeile nach "game": das Spiel auszulesen.
habs grad mit trim versucht aber iwie sitz ich da aufm Schlauch...
VB.NET-Quellcode
- Dim akt_channel As String = Me.Invoke(Function() ListView1.Items.Item(aktive_channel).Text)
- Dim resultstring As String = wc.DownloadString(server & "/streams/" & akt_channel)
- Try
- Dim description As String = resultstring
- Dim fie As Integer = description.IndexOf("""game"":""") 'das erste = im string
- Dim lia As Integer = description.IndexOf("""") 'das letzte & im string
- fie += 1 'Weil index bei 0 anfängt, muss hier die indexposition um 1 erhöht werden.
- Dim rslt As String = description.Substring(fie, lia - fie)
- MessageBox.Show(fie & " " & lia & " " & rslt)
- Catch ex As Exception
- MessageBox.Show(ex.Message)
- End Try
Dazu haben wir, gemeinsam als Community eine Lösung ermittelt.
Ich möchte für die Tipps folgenden Usern Danken, die mir nicht zum ersten Mal geholfen haben :):
@RodFromGermany
@ErfinderDesRades
@Rootbob91
@slice
@KaskadekingDE
So die Lösung:
VB.NET-Quellcode
- Function get_infos(ByVal aktive_channel As Integer) As Boolean
- 'Hier wird der aktuell makierte Kanal ermittelt
- Dim akt_channel As String = Me.Invoke(Function() ListView1.Items.Item(aktive_channel).Text)
- 'als nächtes wird der String in resultstring gespeichert
- Dim resultstring As String = wc.DownloadString(server & "/streams/" & akt_channel)
- 'hier wird dann der Resultstring Deserialisiert und "channel" in der veralteten Msgbox ausgegeben.
- Dim jread As RootObject = Json.JsonConvert.DeserializeObject(Of RootObject)(resultstring)
- MsgBox(jread.stream.game)
- Return True
- End Function
und die Klassen für meine Json
VB.NET-Quellcode
- Public Class Links
- Public Property self As String
- Public Property channel As String
- End Class
- Public Class Links2
- Public Property self As String
- End Class
- Public Class Preview
- Public Property small As String
- Public Property medium As String
- Public Property large As String
- Public Property template As String
- End Class
- Public Class Links3
- Public Property self As String
- Public Property follows As String
- Public Property commercial As String
- Public Property stream_key As String
- Public Property chat As String
- Public Property features As String
- Public Property subscriptions As String
- Public Property editors As String
- Public Property videos As String
- Public Property teams As String
- End Class
- Public Class Channel
- Public Property _links As Links3
- Public Property background As Object
- Public Property banner As String
- Public Property broadcaster_language As String
- Public Property display_name As String
- Public Property game As String
- Public Property logo As String
- Public Property mature As Boolean
- Public Property status As String
- Public Property partner As Boolean
- Public Property url As String
- Public Property video_banner As String
- Public Property _id As Integer
- Public Property name As String
- Public Property created_at As String
- Public Property updated_at As String
- Public Property delay As Integer
- Public Property followers As Integer
- Public Property profile_banner As String
- Public Property profile_banner_background_color As String
- Public Property views As Integer
- Public Property language As String
- End Class
- Public Class Stream
- Public Property _id As Long
- Public Property game As String
- Public Property viewers As Integer
- Public Property created_at As String
- Public Property _links As Links2
- Public Property preview As Preview
- Public Property channel As Channel
- End Class
- Public Class RootObject
- Public Property _links As Links
- Public Property stream As Stream
- End Class
Viele Frauen kamen, viele sind gegangen, eine ist geblieben 12.5.12 ich liebe dich Schatz
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Linkai“ ()