2012-02-29 7 views
0

JSONフィードのメイン要素を取得しようとしていますが、他の項目のみを取得することはできません。どうして?ここに私のコードは次のとおりです。だから、JSON&Rest to ListBox - 情報なし

public MainPage() 
    { 
     InitializeComponent(); 
     GetData(); 
    } 

    private void GetData() 
    { 
     string uri = "http://api.bing.net/json.aspx?AppId=MY-ID&Version=2.0&Market=en-US&Query=Pizza&Sources=phonebook&latitude=33.8563&longitude=-118.1232"; 
     HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(new Uri(uri)); 
     request.BeginGetResponse(new AsyncCallback(ReadCallback), request); 

    } 

    private void ReadCallback(IAsyncResult asynchronousResult) 
    { 
     HttpWebRequest request = (HttpWebRequest)asynchronousResult.AsyncState; 
     HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(asynchronousResult); 
     using (StreamReader streamReader1 = new StreamReader(response.GetResponseStream())) 
     { 
      string resultString = streamReader1.ReadToEnd(); 
      var ser = new DataContractJsonSerializer(typeof(RootObject)); 

      var stream = new MemoryStream(Encoding.Unicode.GetBytes(resultString)); 
      DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(RootObject)); 
      RootObject myBook = (RootObject)jsonSerializer.ReadObject(stream); 

      Deployment.Current.Dispatcher.BeginInvoke(() => Shops.ItemsSource = myBook.SearchResponse.Phonebook.Results); 

     } 
    } 

public class Query 
{ 
    public string SearchTerms { get; set; } 
} 

public class Result 
{ 
    public string Title { get; set; } 
    public string Url { get; set; } 
    public string Business { get; set; } 
    public string PhoneNumber { get; set; } 
    public string Address { get; set; } 
    public string City { get; set; } 
    public string StateOrProvince { get; set; } 
    public string CountryOrRegion { get; set; } 
    public string PostalCode { get; set; } 
    public double Latitude { get; set; } 
    public double Longitude { get; set; } 
    public string UniqueId { get; set; } 
    public string DisplayUrl { get; set; } 
} 

public class Phonebook 
{ 
    public int Total { get; set; } 
    public int Offset { get; set; } 
    public string LocalSerpUrl { get; set; } 
    public string Title { get; set; } 
    public List<Result> Results { get; set; } 
} 

public class SearchResponse 
{ 
    public string Version { get; set; } 
    public Query Query { get; set; } 
    public Phonebook Phonebook { get; set; } 
} 

public class RootObject 
{ 
    public SearchResponse SearchResponse { get; set; } 
} 

、私がやるときShops.ItemsSource = myBook.SearchResponse.Phonebook.Resultsそれはリストボックスに追加しますが、プロジェクト名+は、リストボックスに数回結果と言う...

myBook.SearchResponse.Phonebook.Totalを実行すると、問題はありません。「結果」エリアにあるタイトル、都市などを私に渡すことができない何らかの理由があります。 。 なぜ?

ありがとうございます!あなたの説明から

答えて

0

は、私はあなたが必要なものと考えていたDataTemplate

あなたはGOD ARE

<ListBox.ItemTemplate> 
    <DataTemplate> 
     <StackPanel> 
      <TextBlock Text="{Binding City}" /> 
+0

を試しています!私はこれに永遠に問題があったと誓っています!私は拘束力のあることをしようとしたことがありません...私はステップを逃したと思います! – user1239234

+0

誰でも、JSONデータをPOSTする方法を知る良いリソースがありますか? – user1239234

関連する問題