是否可以在JSON字符串的避难过程中进行映射?
?var resultObject = JsonConvert.DeserializeObject<ConfigItemGetResult>(result);
我的JSON字符串与我想要启用的对象不同。因此必须进行映射。我试图避免制作一个将1比1映射到JSON字符串的模型,然后将从对象映射到对象,例如AutoMapper。
使用序列化属性来配置序列化映射
public class JsonTest
{
[JsonProperty(PropertyName = "SomePropNameFromJson")]
public string SomeProp { get; set; }
[JsonProperty(PropertyName = "SomeNested")]
public SomeClass SomeClass { get; set; }
}
public class SomeClass
{
public SomeClass1 SomeClass1 { get; set; }
}
public class SomeClass1
{
public string text { get; set }
}
在这里json
{" somenprop":" value"," asemented":{ " SomeClass1":{ " text":" textvalue" } }}
JSON尝试将文本通过prop name转换为对象,如果他们在文本中找到prop名称,则如果prop name在json中的名称不同,则可以通过[jsonproperty(propertyName =" someNested")指定它,如果他们在文本中找到prop name,则将其命名为" prop"。]如果默认情况下此attr未设置,它将尝试按Prop名称获得,无论属性是什么,它是某些对象(您的嵌套对象)或基本类型,它将尝试自动转换它。