如何反序列化 JavaScript 并更改正在处理的属性的名称?
例如:
class MyClass
{
public string CreateDate {get;set;}
}
public class DeserializeMyClass
{
//How do I take "create_date" and convert it to CreateDate? Is there an attribute I
//can use?
var json = @"{""create_date"":""04/12/2013""}";
var ds = new JavaScriptSerializer();
ds.Deserialize<MyClass>(json);
}
提前致谢!
最佳答案
看起来您无法轻松地使用 JavaScriptSerializer 来完成此操作,但您可以在 Json.Net 中或使用 DataContractSerializer (.Net 框架的一部分)来完成此操作。
对于 Json.Net,您可以放置指定名称的 JsonProperty 属性。
class MyClass
{
[JsonProperty(Name="create_date")]
public string CreateDate {get;set;}
}
对于 DataContractSerializer 使用 DataMember
属性
关于c# - 从反序列化的 Javascript 重命名属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15709135/