How to display Json data in windows phone 7

前端 未结 1 1636
暖寄归人
暖寄归人 2021-02-06 19:20

I am beginner in windows phone, and i have no idea how to fill the List box from the JSON string. In my application, there will be a Json String which is coming from web service

1条回答
  •  野的像风
    2021-02-06 19:55

    First thing first, you need a good library that would help you convert your json string into your c# model representation (DeSerialization).

    You can either write yours, use the built in platform deserializer or just use NewtonSoft.json

    To Install NewtonSoft for WP, use Nuget. Note that you have to use version 5.0.8 since the 6.x series don't support Windows Phone 7.

    Nuget package manager

    I've simplified your json string a little bit, don't understand why a country property would hold a list of countries?

    c#, in your code behind

    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:

    
    
    
    
        
            
            
        
    
        
        
            
            
        
    
        
        
            
                
                    
                        
                            
                            
                        
    
                    
                
            
    
        
    
    

    Result:

    Result

    0 讨论(0)
提交回复
热议问题