Use this technique to manually parse JSON data coming back from Azure Mobile Services
It gives you fine grained control over the parsing of data coming back.
The goal
You want to manually populate a gridview or similar control by hand. In other words, you want to parse JSON manually, one record at a time. Rather than getting an entire collection, you can use this technique to parse individual columns and rows.
Solution
Use the JSONArray technique outlined below. Use the GetData() code below in the public MySampleDataGroup(JsonObject currGroup) constructor.
You will need to edit the code as you see below.
There is the application key
There is the DNS name
Both of these items will differ with your own version of Azure Mobile Services
rZYYXzOAKgiukahLDniLPeydiMpefy22
You get this from the Azure Mobile Services Portal. It is the application key.
public async void GetData(){// Part of the namespace "System.Net.Http"HttpClient client = new HttpClient();client.DefaultRequestHeaders.Add("X-ZUMO-APPLICATION", "rZYYXzOAKgiukahLDniLPeydiMpefy22");client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));//// Asynchronously call into the web service//var response = await client.GetAsync(new Uri("https://brunotodoservice.azure-mobile.net/tables/TodoItem"));//// Read the data as a big string//var result = await response.Content.ReadAsStringAsync();//// Parse the JSON data//var parsedResponse = JsonArray.Parse(result);//// Convert to a JSON array//JsonArray array = parsedResponse;IJsonValue outValue;foreach (var item in array){var obj = item.GetObject();// Extract the text key. Assume there is a “text” column coming backif (obj.TryGetValue("text", out outValue)){string textValue = outValue.GetString();}}}
For Andrew:
The best way to learn all the details of using Azure Mobile Services is to do a lab in the Windows Azure Training Kit.