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
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.
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: