はあなたのポストのために変更されている:
まずとき、あなたは、デフォルトでは、あなたのAPIリターン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
}
このようなことは手動でフォーマットしないよう強くお勧めします。また、組み込みのライブラリや第三者のライブラリに依存することを強くお勧めします。それ以外の場合は、すでに利用可能で、テスト済みで、作業準備ができているものを再開発することになります。
独自にjsonを作成しないでください。このメソッドからオブジェクトを返し、返されたデータのデフォルトの形式としてJSONを作成できます。 –
上記のコードに基づいて例を挙げることができますか? – brother