2016-10-27 13 views
1

WebApiアプリケーションを作成していて、コントローラが配列内のJsonオブジェクトの結果を返すようにしようとしています。C#return json result as array

私は私の応答は次のようにフォーマットされたい:

[ 
    { 
    "stampCode": "666", 
    "email": "[email protected]", 
    "phone": "+370 640 000000", 
    "healthCareProvider": "Jonavos poliklinika" 
    } 
] 

しかし、現在の状態で私のコードではなく、次を返して:

{ 
    "stampCode": "666", 
    "email": "[email protected]", 
    "phone": "+370 640 000000", 
    "healthCareProvider": "Jonavos poliklinika" 
} 

私は、配列を含む自分自身をしようとしたとき出力はJSONオブジェクトを失い、そのように見えます:

[ 
    "stampCode: 666", 
    "email: [email protected]", 
    "phone: +370 640 000000", 
    "healthCareProvider: Jonavos poliklinika" 
] 

希望の出力を得るためのyコード?私はプログラミングには新しく、本当にこれに固執しています。ここで

は私のコードです:

using System; 
using System.Collections; 
using System.Collections.Generic; 
using System.Linq; 
using System.Net; 
using System.Net.Http; 
using System.Security.Claims; 
using System.Web.Http; 
using System.Web.Http.Results; 

namespace DoctorWebService.Controllers 
{ 
    public class DataController : ApiController 
    { 
     [Authorize] 
     [HttpGet] 
     [Route("api/doctors")] 
     public JsonResult<object> Get(string doctorCode) 
     { 
      if (doctorCode == "666") 
      { 
       var identity = (ClaimsIdentity)User.Identity; 
       return Json<object>(new 
       { 
        stampCode = "666", 
        email = "[email protected]", 
        phone = "+370 640 000000", 
        healthCareProvider = "Jonavos poliklinika" 
       }); 
      } 
      else 
      { 
       return Json<object>(new 
       { 
        notFound = 0 
       }); 
      } 
     } 
    } 
} 

答えて

2

になります。それはしかし、配列にそれをラップするのは簡単です:

return Json(new[] { new 
{ 
    stampCode = "666", 
    email = "[email protected]", 
    phone = "+370 640 000000", 
    healthCareProvider = "Jonavos poliklinika" 
}}); 

それははっきりしていないあなたは、単一の医者を見つけるためにしようとしているときに、しかし、配列を返すようにしたいと思いますなぜ。私がAPIのコンシューマーだったなら、かなり混乱していると思います。

0

あなたがJSON ObjectなくJSON Arrayを作成しているので、あなたが取得している結果が正しいです。
あなたはJSON配列を返したい場合は、このような何かを返す必要があります。

new[]{ 
    //obj1, obj2,obj3 
} 

を、結果はまあ、はい、あなただけの新しい匿名型を作成しているあなたのオブジェクトのJSON Array