gpt4 book ai didi

asp.net-core - .NET Core - Json.NET 反序列化映射

转载 作者:行者123 更新时间:2023-12-05 05:18:28 24 4
gpt4 key购买 nike

是否可以在JSON字符串反序列化到对象的过程中做映射?

var resultObject = JsonConvert.DeserializeObject<ConfigItemGetResult>(result);

我的 JSON 字符串与我要反序列化的对象不同。所以映射必须发生。我试图避免制作一个模型,该模型将 1 映射到 1 到 JSON 字符串,然后使用 AutoMapper 从对象映射到对象。

最佳答案

使用Serialization Attributes用于配置序列化映射

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

{ "SomeProp":"value", "SomeNested":{ "SomeClass1":{ "text":"textvalue" } } }

Json convert 尝试通过反射将文本转换为具有值的 Prop 名称如果他们在文本中找到 Prop 名称他们取值如果 Prop 名称在 JSON 中有不同的名称你可以通过 [JsonProperty(PropertyName = "SomeNested") 指定它] 如果默认情况下未设置此 attr,它将尝试通过 prop 名称获取它,无论属性是什么,它是某个对象(您的嵌套对象)或基本类型,它将尝试自动转换它。

关于asp.net-core - .NET Core - Json.NET 反序列化映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47865389/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com