2015-07-28 83 views
0

這裏是一個WCF方法發送JSON格式的響應。如何更改JSON響應格式

[OperationContract(Name = "Employee")] 
[WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.WrappedResponse, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, UriTemplate = "person/{name}")] 
Person GetPersonData(string name); 

這是我收到的格式:

{ 「EmployeeResult」:{ 「時代」:31, 「姓名」: 「testuser的」}}

我需要像下面的東西:

{ 「員工」:{ 「時代」:31, 「姓名」: 「testuser的」}}

我試圖改變

BodyStyle = WebMessageBodyStyle.Bare

,但得到如下格式:

{ 「時代」:31, 「姓名」: 「testuser的」 }

是否有任何其它的事情,我需要改變嗎?我工作的.NET Framework 4.5

感謝

+0

你檢查這http://stackoverflow.com/questions/20206069/restful-web-service -body-format/20225936#20225936? – Rockstar

回答

1

您可以使用MessageParameterAttribute

[OperationContract(Name = "Employee")] 
[WebInvoke(Method = "GET", BodyStyle = WebMessageBodyStyle.WrappedResponse, ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, UriTemplate = "person/{name}")] 
[return:MessageParameter(Name = "Employee")] 
Person GetPersonData(string name); 
+0

@Make完美,JSON陣列都寫在方括號內。我需要改變什麼嗎?當方法的返回JSON陣列? – Ashok

+0

只要BodyStyle設爲WrappedResponse,最終結果將是與單個屬性(它可以是一個數組然後)的對象。它不改變在這種情況下,任何東西。 – Maku