public async Task <List <Model.ResponseYummly> > getRecipes(String query) { var httpClient = new HttpClient(); var uri = new Uri(stringUri + query); //httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("X-Yummly-App-ID", appId); // httpClient.DefaultRequestHeaders.Add("Authorization", "X-Yummly-App-ID:" + appId); // httpClient.DefaultRequestHeaders.Add("Authorization", "X-Yummly-App-Key:" + appKey); HttpResponseMessage result = await httpClient.GetAsync(uri); List <Model.ResponseYummly> listRecipes = new List <Model.ResponseYummly>(); JsonObject jsonObject = JsonObject.Parse(result.Content.ToString()); foreach (IJsonValue jsonValue in jsonObject.GetNamedArray("matches", new JsonArray())) { try { JsonObject jsonRecipe = JsonObject.Parse(jsonValue.ToString()); Model.ResponseYummly recipe = new Model.ResponseYummly(); JsonObject jsonUrl = jsonRecipe.GetNamedObject("imageUrlsBySize", new JsonObject()); recipe.ImageUrl = jsonUrl.GetNamedString("90", ""); recipe.SourceDisplayName = jsonRecipe.GetNamedString("sourceDisplayName", ""); JsonArray ingredientsArray = jsonRecipe.GetNamedArray("ingredients", new JsonArray()); recipe.Ingredients = ingredientsArray.ToString(); recipe.Id = jsonRecipe.GetNamedString("id", ""); recipe.RecipeName = jsonRecipe.GetNamedString("recipeName", ""); recipe.TotalTime = jsonRecipe.GetNamedNumber("totalTimeInSeconds", 0); JsonObject jsonAttributes = jsonRecipe.GetNamedObject("attributes", new JsonObject()); JsonArray courseArray = jsonAttributes.GetNamedArray("course", new JsonArray()); recipe.Course = courseArray.ToString(); JsonArray cuisineArray = jsonAttributes.GetNamedArray("cuisine", new JsonArray()); recipe.Cuisine = cuisineArray.ToString(); IJsonValue value; if (jsonRecipe.TryGetValue("flavors", out value)) { // JsonObject flavourObject = jsonRecipe.GetNamedObject("flavors", new JsonObject()); recipe.Flavors = value.ToString(); } recipe.Rating = jsonRecipe.GetNamedNumber("rating", 0); listRecipes.Add(recipe); } catch { continue; } } return(listRecipes); }
public async Task<List<Model.ResponseYummly>> getRecipes(String query) { var httpClient = new HttpClient(); var uri = new Uri(stringUri + query); //httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("X-Yummly-App-ID", appId); // httpClient.DefaultRequestHeaders.Add("Authorization", "X-Yummly-App-ID:" + appId); // httpClient.DefaultRequestHeaders.Add("Authorization", "X-Yummly-App-Key:" + appKey); HttpResponseMessage result = await httpClient.GetAsync(uri); List<Model.ResponseYummly> listRecipes = new List<Model.ResponseYummly>(); JsonObject jsonObject = JsonObject.Parse(result.Content.ToString()); foreach(IJsonValue jsonValue in jsonObject.GetNamedArray("matches", new JsonArray())) { try { JsonObject jsonRecipe = JsonObject.Parse(jsonValue.ToString()); Model.ResponseYummly recipe = new Model.ResponseYummly(); JsonObject jsonUrl = jsonRecipe.GetNamedObject("imageUrlsBySize", new JsonObject()); recipe.ImageUrl = jsonUrl.GetNamedString("90", ""); recipe.SourceDisplayName = jsonRecipe.GetNamedString("sourceDisplayName", ""); JsonArray ingredientsArray = jsonRecipe.GetNamedArray("ingredients", new JsonArray()); recipe.Ingredients = ingredientsArray.ToString(); recipe.Id = jsonRecipe.GetNamedString("id", ""); recipe.RecipeName = jsonRecipe.GetNamedString("recipeName", ""); recipe.TotalTime = jsonRecipe.GetNamedNumber("totalTimeInSeconds", 0); JsonObject jsonAttributes = jsonRecipe.GetNamedObject("attributes", new JsonObject()); JsonArray courseArray = jsonAttributes.GetNamedArray("course", new JsonArray()); recipe.Course = courseArray.ToString(); JsonArray cuisineArray = jsonAttributes.GetNamedArray("cuisine", new JsonArray()); recipe.Cuisine = cuisineArray.ToString(); IJsonValue value; if (jsonRecipe.TryGetValue("flavors", out value)) { // JsonObject flavourObject = jsonRecipe.GetNamedObject("flavors", new JsonObject()); recipe.Flavors = value.ToString(); } recipe.Rating = jsonRecipe.GetNamedNumber("rating", 0); listRecipes.Add(recipe); } catch { continue; } } return listRecipes; }