C# JSON&;Rest到列表框-无信息
我试图将主要元素添加到我的JSON提要中,但它不会抓取它,只抓取其他项?为什么?这是我的密码: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&
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}" />