Ответ 1
Итак, вот изменения для вашего поста:
Во-первых, вы должны сделать свой api return Json по умолчанию при передаче запроса text/html
(это вы ищете?), Добавив эту строку в ваш класс WebApiConfig
:
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
Во-вторых, я изменил код, чтобы вернуть реальный объект, олицетворяя ваш ответ:
public class ProductApiCollection
{
public ProductApi[] Products { get; set; }
public byte Status { get; set; }
}
public class ProductApi
{
public string Name { get; set; }
}
Тело метода:
public ProductApiCollection Get()
{
var result = new ProductApiCollection();
var dbProducts = db.Products;
var apiModels = dbProducts.Select(x => new ProductApi { Name = x.Name } ).ToArray();
result.Products = apiModels;
var status = db.Status.Any() ? 1 : 0;
result.Status = status;
return result;
}
Это приведет к следующему примеру json:
{
"Products": [
{
"Name": "Pork"
},
{
"Name": "Beef"
},
{
"Name": "Chicken"
},
{
"Name": "Salad"
}
],
"Status": 1
}
Я настоятельно рекомендую вам не делать ручное форматирование для таких вещей и полагаться на встроенные и сторонние библиотеки. В противном случае вы будете изобретать все, что уже доступно, проверено и готово к работе.