首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WCF服务可选数据成员

WCF服务可选数据成员
EN

Stack Overflow用户
提问于 2014-03-04 08:27:24
回答 1查看 3.2K关注 0票数 0

我有一个WCF服务,它需要返回一个Json响应:

代码语言:javascript
复制
{
"Content": {
"Id": 817
"Message":"message"
},
"Status": "Ok"
}

在这里,消息参数在某些情况下是可选的,在某些情况下它是存在的,而在有些情况下则不存在。但似乎不起作用。在每个响应中,我都会得到一个消息为null的响应。

代码语言:javascript
复制
[DataContract]
public class CreateNewCandidate_Response
{
    [DataMember(Order=0, IsRequired=true)]
    public string Status { get; set; }
    [DataMember(Order = 1, IsRequired = false, EmitDefaultValue = false)]
    public CreateNewCandidate_Response_Content Content { get; set; }
    [DataMember(Order = 1, IsRequired = false, EmitDefaultValue = false)]
    public error Errors { get; set; }

}

public class error
{
    [DataMember(Order = 0)]
    public string Code { get; set; }
    [DataMember(Order = 1, IsRequired = false, EmitDefaultValue = false)]
    public string Message { get; set; }
}

public class CreateNewCandidate_Response_Content
{
    [DataMember(Order = 0, IsRequired = true, EmitDefaultValue = true)]
    public int CandidateId { get; set; }
    [DataMember(Order = 0, IsRequired = false, EmitDefaultValue = false)]
    public string Message { get; set; }
}

如何让它以我想要的格式返回响应?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-04 08:40:40

简单的回答是:巴特·拜尔斯是正确的,应用DataContract属性。

long anser取自MSDN:

您创建的新的复杂类型必须定义一个数据契约,以便它们是可序列化的。默认情况下,DataContractSerializer推断数据契约并序列化所有公共可见类型。类型的所有公共读/写属性和字段都是序列化的。

http://msdn.microsoft.com/en-us/library/ms733127%28v=vs.110%29.aspx

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22166563

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档