Downloading JSON data
[This article is for Windows 8.x and Windows Phone 8.x developers writing Windows Runtime apps. If you’re developing for Windows 10, see the latest documentation]
Downloading and processing data from web sites is a common task, and here's how to do the equivalent of iOS's [NSData dataWithContentsOfURL] in Windows 8.1 and Windows Phone 8.1.
Reading data in JSON format from a web site is an easy way to get live data into your app. Windows 8.1 and Windows Phone 8.1 includes the HttpClient class which will quickly pull data down over a network connection. Here's a simple C# example that connects to a web site, and loads the first page:
async private void ReadDataFromWeb()
{
var client = new HttpClient(); // Add: using System.Net.Http;
var response = await client.GetAsync(new Uri("https://www.microsoft.com"));
var result = await response.Content.ReadAsStringAsync();
// Display data read from web site
Debug.WriteLine(result);
}
To process data loaded from a web server, use an object such as JsonList or JsonArray from Windows.Data.Json to break out the individual parts of the JSON string. Here's example code that takes data from a string:
var jstring = "[\"Mercury\",0,\"Venus\",0,\"Earth\",1,\"Mars\",2]";
JsonValue jsonList = JsonValue.Parse(jstring); // Add: using Windows.Data.Json;
var planet = jsonList.GetArray().GetStringAt(6);
var moons = jsonList.GetArray().GetNumberAt(7);
Debug.WriteLine(planet + " has " + moons + " moons");
Related topics
Topics for iOS devs
Windows 8 controls for iOS devs
Windows 8 cookbook for iOS devs
JSON topics
Quickstart: Connecting using HttpClient (Windows Store apps using C#/VB/C++ and XAML)