2017-08-10 24 views
-3

現在、ボタンのストリーマーが有効かどうかに基づいてボタンの色を変更するシステムを作成しようとしています。私はjsonの文字列を変数にダウンロードする方法がありますが、それをどうすればいいのかわかりません。私はjson出力の変数 "stream"がヌルであるかどうかを調べなければならないことを知っています。これはストリーマーがオフラインであることを意味しますが、私はそれを行う方法について0の手がかりを持っています。Twitch APIから値を取得

私は現在持っているコードで編集します。私はjsonを適切に解析してr.streamを実行すると適切なデータが得られますが、ストリームがライブであるかどうかを判断する方法はわかりません。これは、データをリフレッシュするボタン押下をチェックすることになっています。

private void Refresh_Click(object sender, RoutedEventArgs e) 
    { 
     string url = @"https://api.twitch.tv/kraken/streams/camoduck?client_id=xskte44y2wfqin464ayecyc09nikcj"; 

     var json = new WebClient().DownloadString(url); 

     Rootobject r = JsonConvert.DeserializeObject<Rootobject>(json); 
     Console.WriteLine(r.stream); 
     if r.stream.game = "Grand Theft Auto V" 
     { 
      _1GUnit1.Background = Brushes.Red; 
     } 


    } 
+0

この未知のサイトを使用してください。 https://www.google.com/search?q=c%23+how+to+parse+a+json –

+0

私はここ数時間、私のために働いていないさまざまな方法でグーグルを検索しました。 @ L.B –

+0

「私のために働いていない」あなたは非常に特殊なケースがあると思いますか?次に、コードを表示します。 –

答えて

2
....... 
var json = new WebClient().DownloadString(url); 
var r = JsonConvert.DeserializeObject<Rootobject>(json); 
Console.WriteLine(r.stream); 
if (r.stream==null) //How a null check can be done 
{ 
    _1GUnit1.Background = Brushes.Red; 
} 

:あなたは「http://json2csharp.com/を使用している場合、これは

は、次のスタックポストを見てくださいなど、あなたがデータとそのプロパティが表示されますように、オブジェクトに何があるか分かりやすく説明します"、それはpropablyですRootObjectないRootobject

+0

これは驚くほど効果的でした。私はC#の初心者です。おそらくそれを言及していたはずですが、私はnullと比較する方法を理解しようとしていました。 +1ありがとう。 –

1

あなたのケースではうまくいかないことについて詳しく説明していないが、詳細な説明や指導を行うことはできません。

私が示唆できるのは、APIラッパーを使用することです。 TwitchLib。 これはあなたが始めるのに役立つはずであり、あなたの事例に十分な文書を提供する必要があります。

0

Twitch APIの詳細を読んで例を検索する必要があります。ストリームがオフラインのときは、解析要求のデータがないため、何らかの種類のテンプレートを削除することを検討してください。ストリームがオンラインの場合、ストリームオブジェクトのプロパティにアクセスできます。たとえば、あなたの成功の関数がdataを返した場合、あなたはその結果を割り当てることができます。

game = data.stream.game; 
logo = data.stream.channel.logo; 
name = data.stream.channel.name; 
url = data.stream.channel.url; 
stream = data.stream.stream_type; 

これは、適切な変数(あなたが任意のコードを提供していませんでした)あなたにしましたセットアップを前提としています。

また、ブラウザでデバッグする方法を学ぶことをお勧めします。この場合は具体的には、結果データを検査する方法を学びます。 ところでInspecting large JSON data in Chrome

+0

私のコードと私の現在の状況を追加しました。ご覧のとおり、まったく動作しません。しかし、それは私が得たものです。 –

+0

もう一度更新しました –

関連する問題