0

クラスconoをJson形式で返すメソッドがあります

  [DataContract]
public class Cono
{
    [DataMember(Order = 1)]
    public Companies[] companies;

}
public class Companies
{
    [DataMember(Order = 1)]
    public string cono;
    [DataMember(Order = 2)]
    public string name;
}

      [WebGet(UriTemplate = "GetCompanies?requestKey={requestKey}",
ResponseFormat = WebMessageFormat.Json)]
        public Cono GetCompanies(string requestKey);

このメソッドは、まずリクエスト キーが正しいかどうかを検証し、次のようなデータを返します。

{
companies: [
{
cono: "001",
name: "Company001"
}
]
}

しかし、リクエストキーが正しくない場合は、このようにjsonでエラーコードを返したい

{-100}

メソッドの戻り値の型を Int に変更するにはどうすればよいですか、または目的のデータを上記の形式で返すにはどうすればよいですか

4

2 に答える 2

0

メソッドの戻り値の型をStream( public Stream GetCompanies(string requestKey);) に変更して、メソッドを記述することができます

static Stream ToJson(object o)
{
    var result = JsonConvert.SerializeObject(o);
    var data = Encoding.UTF8.GetBytes(result);

    WebOperationContext.Current.OutgoingResponse.ContentType = "application/json; charset=utf-8";
    WebOperationContext.Current.OutgoingResponse.ContentLength = data.Length;
    return new MemoryStream(data);
}

次に、メソッドで、次のように使用できます

........
return ToJson(anyObject)
于 2013-05-02T16:15:31.050 に答える