【发布时间】:2020-12-09 08:04:01
【问题描述】:
我想根据键名填充属性。例如。物理地址的地址类型将是物理地址。目前我正在使用 Newtonsoft.Json。此信息将使用 EntityFramework 存储在数据库中。
谢谢
这是 JSON 文件的示例部分:
"person": [
{
"physicalAddress": [
{
"address": "123 Street Name",
"postCode": 1122
}
],
"postalAddress": [
{
"address": "123 Street Name",
"postCode": 1122
}
],
"registeredAddress": [
{
"address": "123 Street Name",
"postCode": 1122
}
]
}
这是该类的一个示例部分:
[JsonProperty("address")]
public string Address { get; set; }
[JsonProperty("postCode")]
public string PostCode { get; set; }
public string AddressType { get; set; }
【问题讨论】:
-
您需要自定义序列化代码(例如
JsonConverter) -
也许创建一个具有
AddressType只读属性的PhysicalAddress类(postalAddress等也一样)? 这些类中的每一个都可以从具有抽象只读AddressType属性的抽象类继承。 -
你的 JSON 中的physicalAddress 真的打算作为一个数组还是一个对象?因为在您的示例中,它就像一个数组。但我提出这个问题是为了让我们确定为实现您的目标而做的正确事情。
标签: c# json entity-framework json.net