【发布时间】:2020-03-23 12:37:49
【问题描述】:
假设我有以下复杂对象:
public class Customer
{
public List<Contact> Contacts { get; set; }
public class Contact
{
public string Adresse { get; set; }
public string Email { get; set; }
}
}
我有一个Dictionary<string, string>,其中包含以下数据:
我怎样才能序列化这个字典来得到下面的 json 字符串? :
{
"Contacts":[
{
"Adresse":"39 Dummy Street",
"Email":"dummymail_1@dummy.com"
},
{
"Adresse":"455 Dummy Street",
"Email":"dummymail_2@dummy.com"
},
{
"Adresse":"72 Dummy Street",
"Email":"dummymail_3@dummy.com"
}
]
}
【问题讨论】:
-
您必须使用字典中的联系人实例填充
Custommer对象。不过,我不懂你的字典。字典的键实际上是"custommer.contacts[0].adresse",作为字符串吗?您是否打算使用反射来发现该字符串引用了Adresse属性? -
我的困惑来自
Dictionary<string, string>不能将复杂对象作为其键。它有一个字符串。 -
Lasse V.Karlsen, custommer.contacts[0].adresse 是键,它是一个字符串。
-
new Custommer { Contacts = dictionary.Values.Select(a => new Custommer.Contact { Adresse = a }).ToList() };怎么样? -
为了简单起见,我只是添加了一个属性“Adresse”,但实际上对象可以更复杂。我更新了添加属性“电子邮件”的问题。
标签: .net serialization