IIS托管的WCF REST服务-JSON将序列化为字符串枚举
问题描述:
是否可以将枚举序列化为适当的字符串值或由EnumMember属性指定的值而不是数字?看来JSON序列化忽略值属性EnumMember属性。如果我将WebMessageFormat更改为Xml,它工作正常,但我需要使用JSON。IIS托管的WCF REST服务-JSON将序列化为字符串枚举
我有以下IIS托管REST服务
[OperationContract]
[WebGet(ResponseFormat = WebMessageFormat.Json,
UriTemplate = "test")]
SomeObject Test();
SomeObject:
[DataContract]
public class SomeObject
{
[DataMember]
public SomeEnum FooBar
{
get;
set;
}
}
SomeEnum:
[DataContract]
public enum SomeEnum
{
[EnumMember(Value = "FooValue")]
[Description("FooDescription")]
Foo,
[EnumMember(Value = "BarValue")]
[Description("BarDescription")]
Bar,
}
我能得到什么:
{"FooBar":0}
我想获得以下中的一个(最好是第一,但任何一个工程):
{"FooBar": "FooValue"}
{"FooBar": "Foo"}
嘿!你是否能够使用下面建议的方法解决问题?如果不是,你可以请更新细节和可能的解决方案?如果是的话,你可以在下面注明和/或标记回答,以便asnwer? – Winnie