Mar*_*aud 6 javascript json.net javascriptserializer
根据迭戈在这个问题中得票最高的答案下未答复的评论:
所以对于一个枚举:
public enum ContactType
{
Phone = 0,
Email = 1,
Mobile = 2
}
Run Code Online (Sandbox Code Playgroud)
例如。一个属性:
//could contain ContactType.Phone, ContactType.Email, ContactType.Mobile
IEnumerable<ContactType> AvailableContactTypes {get;set;}
Run Code Online (Sandbox Code Playgroud)
对于类似 JSON 的内容:
{ContactTypes : ['Phone','Email','Mobile']}
Run Code Online (Sandbox Code Playgroud)
代替
{ContactTypes : [0,1,2]}
Run Code Online (Sandbox Code Playgroud)
与普通 JavaScriptSerializer 的情况一样吗?
看来在 Json.NET 的较新版本之一中,通过属性ItemConverterType的属性对此进行了适当的规定JsonProperty,如下所示:
http://james.newtonking.com/archive/2012/05/08/json-net-4-5-release-5-jsonproperty-enhancements.aspx
我无法尝试它,因为我在从 Json.NET 3.5 升级时遇到了与我自己的项目相关的问题。最后,我IEnumerable<string>按照 Shmiddty 的建议将视图模型转换为(尽管仍然存在阻抗不匹配,我将来会回来重构这一点)。
希望能帮助其他遇到同样问题的人!
用法示例:
[JsonProperty(ItemConverterType = typeof(StringEnumConverter))]
IEnumerable<ContactType> AvailableContactTypes {get;set;}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2888 次 |
| 最近记录: |