abrufen Ich entwickle eine Asp.Net mvc-Anwendung. In meiner Anwendung muss ich Json-Objekt von Remote-Server abrufen. Ich benutze Web-Client dafür. Aber es gibt mir einen Fehler. Mein Szenario ist unten.Nicht in der Lage, JSON-Daten von Remote-Server-Bindung an Objekt in asp.net MVC
Ich habe diese URL
http://graph.facebook.com/{fb_id}/picture?width=200&height=200&redirect=false
Wenn ich von Browser zugreifen, es so etwas wie dieses
So kehre ich bin versucht, diese Daten als Json abzurufen und sie dann wieder serialisiert . Ich baue also zwei Klassen wie unten, um diese Daten zu binden.
public class FacebookAvatarResponse
{
[JsonProperty("data")]
public FacebookAvatarData Data { get; set; }
}
public class FacebookAvatarData
{
[JsonProperty("height")]
public int Height { get; set; }
[JsonProperty("width")]
public int Width { get; set; }
[JsonProperty("is_silhouette")]
public bool IsSilhouette { get; set; }
[JsonProperty("url")]
public string Url { get; set; }
}
In controll baute ich eine Aktion Methode
[AllowAnonymous]
public JsonResult Test(string avatarDataUrl)
{
using (WebClient webClient = new WebClient())
{
string data = webClient.DownloadString(avatarDataUrl);
return Json(JsonConvert.DeserializeObject<FacebookAvatarResponse>(data),JsonRequestBehavior.AllowGet);
}
}
Wie man sehen kann ich diese Daten als Json bin immer und dann als Aktion Ergebnis zurück. Aber wenn ich anfordere, dass diese Methode die korrekte URL als Parameter übergibt, gibt es mir diesen Fehler.
Wie kann ich abrufen JSON-Daten von Remote-Server auf die spezifischen Klassen verbindlich?
, wenn Sie 'avatarDataUrl' entfernen und mit' webClient.DownloadString ("http://graph.facebook.com/{fb_id}/picture?width=200&height=200&redirect=false") ersetzen; 'tut es Arbeit? –
Ya. Es funktioniert. Es lädt das Bild direkt herunter. Es gibt Json nicht zurück, wie ich im Browser zugreife. Warum? –
Also ist das Arbeiten ein erwartet oder haben Sie versucht, den JSON zurückzugeben? –