0

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>

このサービスを実行すると、データを取得します アウトプット

しかし、結果を JSON 形式にしたい
例: {"currencycode":"INR","DESCRIPTION":"Indian Rupees","customercode" : "1001"},....

4

1 に答える 1

0

[Serialize] 属性をメソッドに追加します

于 2012-11-03T05:12:49.750 に答える