2016-04-30 53 views
0

我最近使用JSON抽搐API試過了,我從來沒有使用JSON經驗,所以這是一個很好的挑戰,但後來我用json2csharp.com和轉換JSON字符串像這樣一類:無法訪問json類中的變量。 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; } 
    } 
} 

現在我嘗試訪問觀衆,但它不讓我。我這樣做。

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

回答

1

Stream類的內TwitchAPI的名字 - 你還沒有宣佈在所有的TwitchAPI類中的任何領域,只要我們可以看到。所以,你可以使用:

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

...但沒有與目前的TwitchAPI實例相關的數據流。 (另外,我相信有很多Twitter API客戶端可用...如果您的目標是使用Twitter執行某些操作,而不是致力於構建您自己的Twitter API,那麼我會建議使用現有的Twitter API。 )

+0

謝謝,我只是試圖讓這只是爲了學習,我只有14歲,所以我認爲這將是一個很好的機會。 – user57549

0

如果你想訪問Stream,你需要創建一個實例。

如果您要訪問像你這樣的方式,那麼像這樣創建

public Stream Stream 
{ 
    get; 
    set; 
} 

下TwitchApi類的屬性然後你就可以訪問它,

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

而且,你能避免嵌套的類,除非有特定的東西你打算實現。