在WCF REST服务中返回自定义Json结果

时间:2014-08-04 06:16:36

标签: c# json wcf rest

在Wcf Rest serivce如何返回自定义Json? 喜欢:如果我有一个模型的Json结果

{'name':'R2D2', 'location':'starship'}

我希望有一个自定义的Json结果,如

{'Status':'OK', 'data':{'name':'R2D2', 'location':'starship'}, 'Message':'',...
}

我如何实现这个功能?

我做了一些如何实现它......不确定它是否是最佳方式。

 public class JsonResult<T>
    {
        public string Status { get; set; }
        public string Message { get; set; }
        public T Data { get; set; }
    }

在服务中

 [WebGet(ResponseFormat=WebMessageFormat.Json)]
        JsonResult<Robot> TestJson();

确实给了我想要的结果。 这是最好的方法吗?或者还有其他方法吗? 感谢

1 个答案:

答案 0 :(得分:2)

如果要控制响应格式,可以实现自定义IDispatchMessageFormatter(自定义WebMessageFormat)。

这里有一篇不错的帖子:http://serena-yeoh.blogspot.co.il/2013/02/wcf-rest-custom-webmessageformat.html