2012-04-03 18 views
0

私はWindows Phone 7用のアプリケーションを開発しています。私はJSONサービスにGETリクエストをしています。要求の戻り値の型はオブジェクトです。JSON GETリクエストから文字列を取得する

私の質問は、オブジェクトの情報から文字列を作成する方法です。以下のコードは、リクエストを作成してレスポンスを処理するために使用しているコードです。

 HttpWebRequest carRequest = (HttpWebRequest)WebRequest.Create(carUrl); 
     carRequest.Method = "GET"; 
     carRequest.BeginGetResponse(new AsyncCallback(ProcessResponse), carRequest); 

    private void ProcessResponse(IAsyncResult asyncResult) 
    { 
     HttpWebRequest request = (HttpWebRequest)asyncResult.AsyncState; 
     WebResponse response = (HttpWebResponse)request.EndGetResponse(asyncResult); 
     StreamReader sr = new StreamReader(response.GetResponseStream()); 
     Car.car = (Car)JsonConvert.DeserializeObject(sr.ReadToEnd(), typeof(Car)); 
     Deployment.Current.Dispatcher.BeginInvoke(() => 
      { 
       NavigationService.Navigate(new Uri("/SearchResults.xaml", UriKind.Relative)); 
      }); 
    } 
+0

はイアン・L – TweedyMK

+0

良い仕事を実現しませんでした! :)本当に将来の質問についていくつかの良い答えを得るのに役立ちます。 –

答えて

0

なぜWebClientを使用しないのですか?

private void DownloadString() 
{ 
    var wc = new WebClient(); 
    wc.DownloadStringCompleted += MyHandler; 
    wc.DownloadStringAsync(carUrl); 
} 

void MyHandler(object sender, DownloadStringCompletedEventArgs e) 
{ 
    var result = e.Result; 
} 

これは、文字列をダウンロードするための一般的な解決方法です。 JSONを解決する場合は、このような対話のためにJSON.Netに含まれているメソッドの1つを使用してください。

結果オブジェクトをどこかに隠して、検索結果ページにアクセスできるようにしたり、そこにダウンロード/デシリアライズしたりすることもできます。あなたは下記のとおりJsonConvert.SerializeObjectを使用することができるはず

+0

ありがとう、仕事とはるかにシンプル:D – TweedyMK

関連する問題