如何在Windows Phone 7中显示Json数据

我是Windows手机的初学者,我不知道如何从JSON字符串填充列表框。 在我的应用程序中,将有一个来自Web服务的Json String。

所以,这是我的json String [json Array]:

{ "type":"ok", "result": { "Country":[{ "title":"Country-1", "description":"US", "status":"1" }, { "title":"Country-2", "description":"Australia", "status":"0" }, { "title":"Country-3", "description":"Brazil, "status":"0" } ] } } 

我想在我的应用程序中的列表框中绑定它。 我真的不知道,如何在列表框中绑定。

请给我完整的xaml和c#代码。

首先,您需要一个好的库来帮助您将json字符串转换为c#模型表示(DeSerialization)。

您可以编写自己的,使用内置平台反序列化器或只使用NewtonSoft.json

要安装NewtonSoft for WP,请使用Nuget。 请注意,您必须使用版本5.0.8,因为6.x系列不支持Windows Phone 7。

Nuget包经理

我已经简化了你的json字符串,不明白为什么一个国家财产会有一个国家列表?

c#,在你的代码背后

 public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { InitializeComponent(); //BindCountries(); } protected override void OnNavigatedTo(NavigationEventArgs e) { BindCountries(); } private void BindCountries() { var json = "{\"type\":\"ok\",\"countries\":[{\"title\":\"Country-1\",\"description\":\"US\",\"status\":\"1\"},{\"title\":\"Country-2\",\"description\":\"Australia\",\"status\":\"0\"},{\"title\":\"Country-3\",\"description\":\"Brazil\",\"status\":\"0\"}]}"; var countryResult = JsonConvert.DeserializeObject(json); if (countryResult.Type.Equals("ok", StringComparison.InvariantCultureIgnoreCase)) { lstCountries.ItemsSource = countryResult.Countries; } } } public class CountryResult { public string Type { get; set; } public IEnumerable Countries { get; set; } } public class Country { public string Title { get; set; } public string Description { get; set; } public int Status { get; set; } } 

XAML:

                           

结果:

结果