I recently tried using the twitch json api, i never had experience with json so it was a nice challenge but then i used json2csharp.com and converted a json string to a class like this:
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; }
}
}
Now i try to access the viewers but it doesn't let me. I do it like this.
TwitchAPI twitchapi = new TwitchAPI();
string viewers = "" + twitchapi.Stream.viewers;
Stream
is the name of a class within TwitchAPI
- you haven't declared any fields within the TwitchAPI
class at all, as far as we can see. So you could use:
TwitchAPI.Stream stream = new TwitchAPI.Stream();
string viewers = stream.viewers.ToString();
... but there's no stream associated with an instance of TwitchAPI
at the moment.
(As an aside, I believe there are plenty of Twitter API clients available... if your aim is to do something with Twitter rather than to work on building your own Twitter API, I would suggest using an existing one.)
See more on this question at Stackoverflow