意外响应和/和自动排序键

时间:2013-11-26 07:41:45

标签: c# json wcf

我是C#和WCF的新手。

我已经完成了这个link。但无法解决。

以下只是一个示例GET服务方法。

预期的JSON格式是

{"result":"Hello","add":4}

结果JSON格式为

{"GetDataResult":{"add":4,"result":"Hello"}}

实体类是

[ServiceContract]
public interface IConnectDBService
{
    [OperationContract]
    [WebInvoke(Method = "GET",
   BodyStyle = WebMessageBodyStyle.Wrapped,
   UriTemplate = "val",
   ResponseFormat = WebMessageFormat.Json)]
    MyObject GetData();
}

[DataContract]
public class MyObject
{

    [DataMember(Name = "result")]
    public string result { get; set; }
    [DataMember(Name = "add")]
    public int add { get; set; }

}

服务类是

public MyObject GetData()
    {
        return new MyObject { result = "Hello", add = 4 };
    }

如何从结果中消除“GetDataResult”。并注意到密钥在生成的JSON中按字母顺序排序。任何在我们的愿景中格式化JSON的建议。

谢谢

1 个答案:

答案 0 :(得分:1)

额外GetDataResult是因为BodyStyle = WebMessageBodyStyle.Wrapped。您可以删除该属性,也可以将其更改为WebMessageBodyStyle.Bare