gpt4 book ai didi

c# - 使用 json,net 将对象序列化为字典

转载 作者:太空宇宙 更新时间:2023-11-03 16:10:54 27 4
gpt4 key购买 nike

json.net可以将类对象序列化成一个简单的字典吗?

public class CommitData
{
public AddressDTO Property { get; set; }

public DateTime? Appointment { get; set; }

public DateTime? Closed { get; set; }

public DateTime? Created { get; set; }

public string LenderRef { get; set; }

public string YearBuilt { get; set; }

public IDictionary<string, object> Custom { get; set; }
}

public class AddressDTO
{
public string Address1 { get; set; }
public string Address2 { get; set; }
public string Address3 { get; set; }
public string Town { get; set; }
public string County { get; set; }
public string Postcode { get; set; }
}

序列化时我想得到:


{<br/>
"Property.Address1": "",<br/>
"Property.Address2": "uyg",<br/>
"LenderRef": "yguyg",<br/>
"Closed": date_here
}

然后像上面一样将一个 json 字符串反序列化为 CommitData 对象?

最佳答案

是的,但这有点工作。您可以通过实现自己的 JsonConverter 来完全控制对象的序列化和反序列化方式。有了它,您可以通过简单的字符串操作来展平和展平它。可以完成一个适当的通用解决方案,但需要做更多的工作,因为您需要考虑每个属性的多级递归,但如果您只特别关心这种情况,请使用 Custom JsonConverter

这是 Json.net 内部使用的转换器示例:

KeyValuePairConverter.cs

希望对您有所帮助。

关于c# - 使用 json,net 将对象序列化为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17545605/

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