2012-04-03 12 views
0

Ich entwickle eine Anwendung für das Windows Phone 7. Ich mache eine GET-Anfrage an einen JSON-Dienst. Der Rückgabetyp der Anfrage ist ein Objekt.Beziehen einer Zeichenfolge von einer JSON GET-Anforderung

Meine Frage ist, wie ich eine Zeichenfolge aus den Informationen im Objekt erstellen. Der Code unten ist, was ich verwende, um die Anfrage zu machen und die Antwort zu verarbeiten.

 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

war nicht klar, Ian L – TweedyMK

+0

Gute Arbeit! :) Wirklich hilft, einige gute Antworten auf zukünftige Fragen zu bekommen. –

Antwort

0

Warum nicht einen WebClient verwenden?

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

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

Beachten Sie, dass dies eine allgemeine Lösung zum Herunterladen einer Zeichenfolge ist. Wenn Sie JSON auflösen, verwenden Sie eine der in JSON.Net enthaltenen Methoden für diese Art der Interaktion.

Beachten Sie auch, dass Sie das Ergebnisobjekt möglicherweise irgendwo speichern möchten, damit Sie es auf Ihrer Suchergebnisseite aufrufen können, oder führen Sie dort das Herunterladen/Deserialisieren durch.

+0

Vielen Dank, funktioniert und viel einfacher: D – TweedyMK

Verwandte Themen