Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# C JSON自定义结果列表名称_C#_Json_Wcf - Fatal编程技术网

C# C JSON自定义结果列表名称

C# C JSON自定义结果列表名称,c#,json,wcf,C#,Json,Wcf,如何将C的JSON响应从结果覆盖到类名 它总是返回methodname+结果。有没有办法把它改成类名 还是我的代码有问题 这是我的交换理由课 [DataContract] public class Exchange_Reason { [DataMember] public string Exchange_Reason_ID { get; set; } [DataMember] public string Reason { get; set; } [Da

如何将C的JSON响应从结果覆盖到类名

它总是返回methodname+结果。有没有办法把它改成类名

还是我的代码有问题

这是我的交换理由课

[DataContract]
public class Exchange_Reason
{
    [DataMember]
    public string Exchange_Reason_ID { get; set; }

    [DataMember]
    public string Reason { get; set; }

    [DataMember]
    public string Status { get; set; }
}
我的服务合同

[OperationContract]
    [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "getExchange_Reason_List")]
    List<Exchange_Reason> GetExchange_Reason_List();
我需要它是:

{
    Exchange_Reasons: [
        {
            Exchange_Reason_ID: "1000001",
            Reason: "Rotten",
            Status: "Active"
        },
        {
            Exchange_Reason_ID: "1000002",
            Reason: "Expired",
            Status: "Active"
        }
    ]
}
提前谢谢。

这是因为您的车身是包好的。首先从WebInvoke中删除BodyStyle,然后按照您想要的方式包装输出。我想你想要这个:

 [DataContract]
public class GetExchange_Reason_ListResult
{
    [DataMember]
    public Exchange_Reason[] Exchange_Reasons { get; set; }
}

public class Exchange_Reason
{
    public string Exchange_Reason_ID { get; set; }
    public string Reason { get; set; }
    public string Status { get; set; }
}
您的方法应如下所示:

[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "getExchange_Reason_List")]
GetExchange_Reason_ListResult GetExchange_Reason_List();
 [DataContract]
public class GetExchange_Reason_ListResult
{
    [DataMember]
    public Exchange_Reason[] Exchange_Reasons { get; set; }
}

public class Exchange_Reason
{
    public string Exchange_Reason_ID { get; set; }
    public string Reason { get; set; }
    public string Status { get; set; }
}
[OperationContract]
[WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json, UriTemplate = "getExchange_Reason_List")]
GetExchange_Reason_ListResult GetExchange_Reason_List();