2016-04-30 4 views
0

Ich versuchte vor kurzem das Zucken json api verwenden, ich hatte nie Erfahrung mit json so ist es eine schöne Herausforderung war aber dann verwendet, i json2csharp.com und einen JSON-String in eine Klasse wie folgt umgerechnet:Zugriff auf Variablen in einer JSON-Klasse nicht möglich. C#

class TwitchAPI 
{ 
    public class Preview 
    { 
     public string small { get; set; } 
     public string medium { get; set; } 
     public string large { get; set; } 
     public string template { get; set; } 
    } 

    public class Links 
    { 
     public string self { get; set; } 
     public string follows { get; set; } 
     public string commercial { get; set; } 
     public string stream_key { get; set; } 
     public string chat { get; set; } 
     public string features { get; set; } 
     public string subscriptions { get; set; } 
     public string editors { get; set; } 
     public string teams { get; set; } 
     public string videos { get; set; } 
    } 

    public class Channel 
    { 
     public bool mature { get; set; } 
     public string status { get; set; } 
     public string broadcaster_language { get; set; } 
     public string display_name { get; set; } 
     public string game { get; set; } 
     public string language { get; set; } 
     public int _id { get; set; } 
     public string name { get; set; } 
     public string created_at { get; set; } 
     public string updated_at { get; set; } 
     public object delay { get; set; } 
     public string logo { get; set; } 
     public object banner { get; set; } 
     public string video_banner { get; set; } 
     public object background { get; set; } 
     public string profile_banner { get; set; } 
     public object profile_banner_background_color { get; set; } 
     public bool partner { get; set; } 
     public string url { get; set; } 
     public int views { get; set; } 
     public int followers { get; set; } 
    } 

    public class Stream 
    { 
     public long _id { get; set; } 
     public string game { get; set; } 
     public int viewers { get; set; } 
     public string created_at { get; set; } 
     public int video_height { get; set; } 
     public int average_fps { get; set; } 
     public int delay { get; set; } 
     public bool is_playlist { get; set; } 
    } 
} 

Jetzt Ich versuche auf die Zuschauer zuzugreifen, aber es lässt mich nicht. So mach ich es.

TwitchAPI twitchapi = new TwitchAPI(); 
string viewers = "" + twitchapi.Stream.viewers; 

Antwort

1

Stream ist der Name einer Klasse innerhalb TwitchAPI - Sie keine Felder in der TwitchAPI Klasse deklariert haben überhaupt, soweit wir sehen können. So könnten Sie verwenden:

TwitchAPI.Stream stream = new TwitchAPI.Stream(); 
string viewers = stream.viewers.ToString(); 

... aber es gibt keinen Strom in Verbindung mit einer Instanz von TwitchAPI im Moment.

(Nebenbei, ich glaube, es gibt viele Twitter-API-Clients zur Verfügung ... wenn Sie etwas mit Twitter machen wollen, anstatt an der Erstellung Ihrer eigenen Twitter-API zu arbeiten, würde ich vorschlagen, eine bestehende zu verwenden.)

+0

Danke, ich habe nur versucht, dies zum Lernen zu machen, ich bin nur 14, also dachte ich, das wäre eine großartige Gelegenheit. – user57549

0

Sie müssen eine Instanz erstellen, wenn Sie auf Stream zugreifen möchten.

Wenn Sie wie die Art und Weise zugreifen möchten Sie tun, dann erstellen Sie eine Eigenschaft unter TwitchApi Klasse wie diese

public Stream Stream 
{ 
    get; 
    set; 
} 

Dann können Sie es als Zugang,

TwitchAPI twitchapi = new TwitchAPI(); 
string viewers = "" + twitchapi.Stream.viewers; 

Auch können Sie vermeiden geschachtelte Klassen haben, es sei denn, es gibt etwas Bestimmtes, das Sie erreichen möchten.