c# - 从反序列化的 Javascript 重命名属性

标签 c# javascript .net deserialization custom-attributes

如何反序列化 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/

相关文章:

.net - 如何让辅助角色应用程序访问Web角色实例中的文件

c# - C#从FTP服务器下载修改日期大于指定日期的文件到本地文件夹

c# - 使用soap客户端时出现InvalidOperationException

javascript - 输入中的小数格式

c# - WPF TextBox 始终将焦点放在文本末尾,除非按下箭头键

javascript - 让两个产品相互对话是使用 JavaScript 事件还是窗口函数更好?

javascript - 如何在 JavaScript 中设置函数本身的一些属性(模块模式)

.net - 创建没有密码的 PSCredential

c# - 更改 dataGridView CellFormatting 中单元格的文本

c# - .html 和 .append 不从 C# 编码动态 html