2012-11-03 89 views
0

我沒有得到JSON格式的輸出。下面是代碼如何獲取JSON格式的響應和請求?

---- IService1.cs ----

[ServiceContract] 
public interface IService1 
{ 
    [OperationContract] 
    [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "currency")] 
    List<Employee> GetAllEmployeesMethod(); 

    [OperationContract] 
    string TestMethod(); 

    [OperationContract] 
    [WebInvoke(Method = "GET", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json, UriTemplate = "players")] 
    List<Person> GetPlayers(); 

} 

---- Service1.svc.cs ----

public List<Employee> GetAllEmployeesMethod() 
{ 
    List<Employee> mylist = new List<Employee>(); 

    using (SqlConnection conn = new SqlConnection("--connection string--")) 
    { 
     conn.Open(); 

     string cmdStr = String.Format("Select customercode,CurrencyCode,CurrencyDesc from Currency"); 
     SqlCommand cmd = new SqlCommand(cmdStr, conn); 
     SqlDataReader rd = cmd.ExecuteReader(); 

     if (rd.HasRows) 
     { 
      while (rd.Read()) 
       mylist.Add(new Employee(rd.GetInt32(0), rd.GetString(1), rd.GetString(2))); 
     } 
     conn.Close(); 
    } 


    return mylist; 
} 

---- web.config ----

<?xml version="1.0"?> 
    <configuration> 
<appSettings/> 
<connectionStrings/> 
<system.web> 
<compilation debug="true" targetFramework="4.0"/> 
<authentication mode="Windows"/>  

<pages controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/> 
</system.web> 
<system.webServer> 
<directoryBrowse enabled="true"/> 
</system.webServer> 
<system.serviceModel> 
<services> 
    <service name="JSONSerialization.Service1" behaviorConfiguration="EmpServiceBehaviour"> 
    <!-- Service Endpoints --> 
    <endpoint address="" binding="webHttpBinding" contract="JSONSerialization.IService1" behaviorConfiguration="web" > 
    </endpoint> 
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/> 
    </service> 
</services> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="EmpServiceBehaviour">   
     <serviceMetadata httpGetEnabled="true"/>   
     <serviceDebug includeExceptionDetailInFaults="false"/> 
    </behavior> 
    </serviceBehaviors> 
    <endpointBehaviors> 
    <behavior name="web"> 
     <webHttp automaticFormatSelectionEnabled="true" defaultOutgoingResponseFormat="Json" helpEnabled="true" defaultBodyStyle="Bare"/>   
    </behavior> 
    </endpointBehaviors> 
    </behaviors> 
    </system.serviceModel> 
    </configuration> 

當我運行這個服務,我得到的數據 out put

,但我想要的結果是JSON格式
例子:{"currencycode":"INR","DESCRIPTION":"Indian Rupees","customercode" : "1001"},....

回答

0

添加[序號]屬性的方法