C# 如何在不在WCF服务中指定objectname的情况下发布和绑定json数据

C# 如何在不在WCF服务中指定objectname的情况下发布和绑定json数据,c#,json,wcf,C#,Json,Wcf,我有下面的服务 [OperationContract] [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "/PostData")] public string GetImage(MyData data) { return "success";l

我有下面的服务

    [OperationContract]
    [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "/PostData")]
 public string GetImage(MyData data)
        {
            return "success";l
        }
数据合同是:

[DataContract]
public class MyData 
{
    [DataMember]
    public string Base64String { get; set; }
    [DataMember]
    public int ID{ get; set; }
}
但在呈现json数据时,我必须指定如下格式:

{
"data":
{
"Base64String": "my base 64 string",
"ID":"1"
}
}
但我的要求是发布没有对象名实例名的数据,所以我想要类似json的

{
"Base64String": "my base 64 string",
"ID":"1"
}

有没有办法让它以这种方式工作。

我相信如果您将WebInvoke属性的BodyStyle属性更改为WebMessageBodyStyle.Bare

[OperationContract]
[WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare, UriTemplate = "/PostData")]
public string GetImage(MyData data)
{
    return "success";
}