I am trying to get a better format for my returning JSON - but sadly all i can seem to get is a long string - even tough I can deserialize it, i would prefer to have it more readable for debugging.
Thats what I have so far:
public JsonResult Get(string recipeId)
{
int id = Convert.ToUInt16(recipeId);
Recipe recipe = recipeRepo.Recipes.Include("Pairings").Include("UsedIngredients").Include("RecipeImages").Include("Tags").Where(r => r.RecipeId == id).FirstOrDefault();
var result = new JsonResult();
var data = JsonConvert.SerializeObject(recipe, Formatting.Indented, new JsonSerializerSettings
{
PreserveReferencesHandling = PreserveReferencesHandling.Objects,
NullValueHandling = NullValueHandling.Ignore
});
result.Data = data;
result.JsonRequestBehavior = JsonRequestBehavior.AllowGet;
return result;
}
And that's whats being returned:
"{\r\n \"$id\": \"1\",\r\n \"RecipeId\": 1004,\r\n \"Name\": \"Whole-Wheat Spaghetti with Sausage \u0026 Peppers\",\r\n \"Serving\": 4,\r\n \"Instructions\": \"\u003cp\u003e\u003cspan style=\\"font-size:16px\\"\u003e\u003cspan style=\\"font-family:georgia,serif\\"\u003e1. In a large frying pan, heat the oil over moderate heat. Add the sausage and cook, turning, until browned and cooked through, about 8 minutes. Remove. When the sausage is cool enough to handle, cut it into 1/2-inch slices.\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cspan style=\\"font-size:16px\\"\u003e\u003cspan style=\\"font-family:georgia,serif\\"\u003e2. In a large pot of boiling, salted water, cook the spaghetti until just done, about 12 minutes for dried and 2 minutes for fresh.\u0026nbsp;\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\r\n\u003cp\u003e\u003cspan style=\\"font-size:16px\\"\u003e\u003cspan style=\\"font-family:georgia,serif\\"\u003e3. While the pasta cooked add the onion, peppers, and 3/4 teaspoon of the salt to the pan. Cook, stirring frequently, until the vegetables begin to brown, about 5 minutes. Cover and cook, stirring occasionally until the vegetables are soft, about 3 minutes longer. Add the garlic and cook, stirring, for about 30 seconds. Add the tomatoes, broth, vermouth, the reserved sausage and any accumulated juices, the parsley, and the remaining 1 teaspoon salt and bring to a simmer.\u003c/span\u003e\u003c/span\u003e\u003c/p\u003e\r\n\",\r\n \"PrepTime\": 10,\r\n \"Slug\": \"whole-wheat-spaghetti-with-sausage---peppers\",\r\n \"Author\": \"Club W Kitchen\",\r\n \"CreatedAt\": \"2013-08-02T21:57:42.283\",\r\n \"CookingTime\": 20,\r\n \"TotalTime\": 30,\r\n \"SlugId\": \"6351107746\",\r\n \"Pairings\": [\r\n {\r\n \"$id\": \"2\",\r\n \"Wine\": {\r\n \"$id\": \"3\",\r\n \"Pairings\": [\r\n {\r\n \"$ref\": \"2\"\r\n }\r\n ],\r\n \"GlossaryWineLinks\": [],\r\n \"PersonWineLinks\": [],\r\n \"WineId\": 247,\r\n \"Name\": \"2010 MRLT\",\r\n \"Url\": \"http://www.clubw.com/pc/2581789/\",\r\n \"Description\": \"No longer can we stand idly by while people badmouth merlot when there are so many great examples being produced including this wine. The plum and black berry flavors make this an excellent wine to pair with grilled meats. A long smooth finish makes the perfect compliment to the smokiness the grill\u0027s char lends to the food. \",\r\n \"ProductCode\": \"1306258\",\r\n \"Recipes\": [\r\n {\r\n \"$ref\": \"1\"\r\n }\r\n ],\r\n \"WineImageUrl\": \"http://www.clubw.com/Images/Content/product/1306258/001.jpg\"\r\n },\r\n \"Recipe\": {\r\n \"$ref\": \"1\"\r\n },\r\n \"PairingId\": 1003,\r\n \"Information\": \"The plum and black berry flavors make it an excellent wine to pair with salty meats.\",\r\n \"WineId\": 247,\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n }\r\n ],\r\n \"UsedIngredients\": [\r\n {\r\n \"$id\": \"4\",\r\n \"Recipe\": {\r\n \"$ref\": \"1\"\r\n },\r\n \"UsedIngredientId\": 1030,\r\n \"Amount\": \"1 Tbs\",\r\n \"IngredientName\": \"olive oil\",\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n },\r\n {\r\n \"$id\": \"5\",\r\n \"Recipe\": {\r\n \"$ref\": \"1\"\r\n },\r\n \"UsedIngredientId\": 1031,\r\n \"Amount\": \"1 pound\",\r\n \"IngredientName\": \"mild or hot Italian sausage\",\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n },\r\n {\r\n \"$id\": \"6\",\r\n \"Recipe\": {\r\n \"$ref\": \"1\"\r\n },\r\n \"UsedIngredientId\": 1032,\r\n \"Amount\": \"1\",\r\n \"IngredientName\": \"onion, chopped\",\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n },\r\n {\r\n \"$id\": \"7\",\r\n \"Recipe\": {\r\n \"$ref\": \"1\"\r\n },\r\n \"UsedIngredientId\": 1033,\r\n \"Amount\": \"2\",\r\n \"IngredientName\": \"red bell peppers, cut into 1-inch pieces\",\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n },\r\n {\r\n \"$id\": \"8\",\r\n \"Recipe\": {\r\n \"$ref\": \"1\"\r\n },\r\n \"UsedIngredientId\": 1034,\r\n \"Amount\": \"1 ¾ tsp\",\r\n \"IngredientName\": \"salt\",\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n },\r\n {\r\n \"$id\": \"9\",\r\n \"Recipe\": {\r\n \"$ref\": \"1\"\r\n },\r\n \"UsedIngredientId\": 1035,\r\n \"Amount\": \"3\",\r\n \"IngredientName\": \"cloves garlic, minced\",\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n },\r\n {\r\n \"$id\": \"10\",\r\n \"Recipe\": {\r\n \"$ref\": \"1\"\r\n },\r\n \"UsedIngredientId\": 1036,\r\n \"Amount\": \"1 cup\",\r\n \"IngredientName\": \"canned crushed tomatoes in thick puree\",\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n },\r\n {\r\n \"$id\": \"11\",\r\n \"Recipe\": {\r\n \"$ref\": \"1\"\r\n },\r\n \"UsedIngredientId\": 1037,\r\n \"Amount\": \"1 cup\",\r\n \"IngredientName\": \"canned low-sodium chicken broth or homemade stock\",\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n },\r\n {\r\n \"$id\": \"12\",\r\n \"Recipe\": {\r\n \"$ref\": \"1\"\r\n },\r\n \"UsedIngredientId\": 1038,\r\n \"Amount\": \"2 Tbs\",\r\n \"IngredientName\": \"dry vermouth or dry white wine\",\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n },\r\n {\r\n \"$id\": \"13\",\r\n \"Recipe\": {\r\n \"$ref\": \"1\"\r\n },\r\n \"UsedIngredientId\": 1039,\r\n \"Amount\": \"3 Tbs\",\r\n \"IngredientName\": \"chopped flat-leaf parsley\",\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n },\r\n {\r\n \"$id\": \"14\",\r\n \"Recipe\": {\r\n \"$ref\": \"1\"\r\n },\r\n \"UsedIngredientId\": 1040,\r\n \"Amount\": \"¾ pound\",\r\n \"IngredientName\": \"whole-wheat spaghetti (preferably fresh*)\",\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n }\r\n ],\r\n \"RecipeImages\": [\r\n {\r\n \"$id\": \"15\",\r\n \"RecipeImageId\": 1003,\r\n \"Main\": true,\r\n \"ImageUrl\": \"http://vineyardclubw.blob.core.windows.net/recipe/DSC_0155.JPG\",\r\n \"RecipeId\": 1004,\r\n \"Delete\": false\r\n }\r\n ],\r\n \"Tags\": [\r\n {\r\n \"$id\": \"16\",\r\n \"TagId\": 2,\r\n \"Name\": \"Fast\",\r\n \"Slug\": \"fast\",\r\n \"Recipes\": [\r\n {\r\n \"$ref\": \"1\"\r\n }\r\n ]\r\n },\r\n {\r\n \"$id\": \"17\",\r\n \"TagId\": 5,\r\n \"Name\": \"Dinner\",\r\n \"Slug\": \"dinner\",\r\n \"Recipes\": [\r\n {\r\n \"$ref\": \"1\"\r\n }\r\n ]\r\n },\r\n {\r\n \"$id\": \"18\",\r\n \"TagId\": 1071,\r\n \"Name\": \"Pork\",\r\n \"Slug\": \"pork\",\r\n \"Recipes\": [\r\n {\r\n \"$ref\": \"1\"\r\n }\r\n ]\r\n },\r\n {\r\n \"$id\": \"19\",\r\n \"TagId\": 1072,\r\n \"Name\": \"Pasta\",\r\n \"Slug\": \"pasta\",\r\n \"Recipes\": [\r\n {\r\n \"$ref\": \"1\"\r\n }\r\n ]\r\n }\r\n ]\r\n}"
How would I get this to a proper format?
JSON.parse()to turn it into an object literal which is certainly easier to look at.