C# JSON&;Rest到列表框-无信息

C# JSON&;Rest到列表框-无信息,c#,windows-phone-7,rest,bing,C#,Windows Phone 7,Rest,Bing,我试图将主要元素添加到我的JSON提要中,但它不会抓取它,只抓取其他项?为什么?这是我的密码: public MainPage() { InitializeComponent(); GetData(); } private void GetData() { string uri = "http://api.bing.net/json.aspx?AppId=MY-ID&Version=2.0&

我试图将主要元素添加到我的JSON提要中,但它不会抓取它,只抓取其他项?为什么?这是我的密码:

    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; }
}
public主页()
{
初始化组件();
GetData();
}
私有void GetData()
{
字符串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请求=(HttpWebRequest)HttpWebRequest.Create(新Uri(Uri));
BeginGetResponse(新的AsyncCallback(ReadCallback),request);
}
私有void ReadCallback(IAsyncResult asynchronousResult)
{
HttpWebRequest请求=(HttpWebRequest)asynchronousResult.AsynchState;
HttpWebResponse=(HttpWebResponse)request.EndGetResponse(asynchronousResult);
使用(StreamReader streamReader1=新的StreamReader(response.GetResponseStream())
{
字符串resultString=streamReader1.ReadToEnd();
var ser=newdatacontractjsonserializer(typeof(RootObject));
var stream=newmemoryStream(Encoding.Unicode.GetBytes(resultString));
DataContractJsonSerializer jsonSerializer=新的DataContractJsonSerializer(typeof(RootObject));
RootObject myBook=(RootObject)jsonSerializer.ReadObject(stream);
Deployment.Current.Dispatcher.BeginInvoke(()=>Shops.ItemsSource=myBook.SearchResponse.Phonebook.Results);
}
}
公共类查询
{
公共字符串搜索项{get;set;}
}
公开课成绩
{
公共字符串标题{get;set;}
公共字符串Url{get;set;}
公共字符串业务{get;set;}
公共字符串PhoneNumber{get;set;}
公共字符串地址{get;set;}
公共字符串City{get;set;}
公共字符串状态提供{get;set;}
公共字符串CountryOrRegion{get;set;}
公共字符串PostalCode{get;set;}
公共双纬度{get;set;}
公共双经度{get;set;}
公共字符串唯一标识{get;set;}
公共字符串DisplayUrl{get;set;}
}
公共类电话簿
{
公共整数总计{get;set;}
公共整数偏移量{get;set;}
公共字符串LocalSerpUrl{get;set;}
公共字符串标题{get;set;}
公共列表结果{get;set;}
}
公共类搜索响应
{
公共字符串版本{get;set;}
公共查询查询{get;set;}
公用电话簿电话簿{get;set;}
}
公共类根对象
{
公共SearchResponse SearchResponse{get;set;}
}
所以,当我做Shops.ItemsSource=myBook.SearchResponse.Phonebook.Results时,它会在列表框中添加,但会在列表框中多次显示ProjectName+Results

如果我做myBook.SearchResponse.Phonebook.Total,它就没有问题。。。由于某些原因,我无法得到它,以给我的标题,城市,等等,在“结果”领域。。。为什么?


谢谢

根据您的描述,我相信您需要的是数据模板

试一试



你就是上帝!我发誓我永远都有这个问题!我试着做装订的工作,但从来没有工作过。。。我想我错过了一步!有人知道哪里是学习如何发布JSON数据的好资源吗?
<ListBox.ItemTemplate>
   <DataTemplate>
       <StackPanel>
           <TextBlock Text="{Binding City}" />