我有课
public class Foo
{
public string Id { get; set; }
public string Name { get; set; }
public string Email { get; set; }
}
我想将对象转换为通用对象
{
"properties": {
"id" : "1234",
"name": "John Doe",
"email" : "john.doe@mail.com"
}
}
我想将类实例转换为属性根据类动态变化的结构。这可以用 Automapper 实现吗?
最佳答案
似乎您想序列化/反序列化到 JSON 或从 JSON 反序列化。这种情况可以引用Newtonsoft.Json并使用不依赖于任何特定类的 JsonConvert.SerializeObject
/JsonConvert.DeserializeObject
通用方法:
反序列化(从字符串到类实例):
var foo = JsonConvert.DeserializeObject<Foo>(jsonString);
序列化(从类实例到字符串):
var stringValue = JsonConvert.SerializeObject(foo)
多一点(映射)
您可能还想用一些属性来装饰您的类以指定映射:
[DataContract]
public class Foo
{
[DataMember(Name = "id")]
public string Id {get;set;}
[DataMember(Name = "name")]
public string Name {get;set;}
[DataMember(Name = "email")]
public string Email {get;set;}
}
关于c# - 具有属性名称和值的映射对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31847424/