【发布时间】:2020-10-19 17:44:11
【问题描述】:
我想用类名作为被序列化的子元素的父名序列化一个列表,格式如下:
"parent": [
"title": "",
"child_items" : [
"child_item" : {
"field1": "1",
"field2": "2"
},
"child item" : {
"field1": "1",
"field2": "2"
}
]
]
我有一个名为 Parent 的类,我有一个名为 ChildItem 的类。我在父类上有一个属性,它是 ChildItems 的列表以及 title 属性。
当我使用 Newtonsoft.Json.JsonConvert.SerializeObject 对其进行序列化时,我得到以下信息:
"parent": [
"title": "",
"child_items" : [
{
"field1": "1",
"field2": "2"
},
{
"field1": "1",
"field2": "2"
}
]
]
如果我创建一个名为 ChildItems 的单独类,它的属性是 ChildItem 的列表,并使 ChildItems 类成为 Parent 的属性,那么我会得到以下信息:
"parent": [
"title": "",
"child_items" : {
"child_item" : [
{
"field1": "1",
"field2": "2"
},
{
"field1": "1",
"field2": "2"
}
]
}
]
我希望输出将 child_items 显示为 child_item 列表,每个子字段都在下面。
编辑: 这是我创建的一个示例:https://dotnetfiddle.net/ozJK9B。我想让“ChildItem”显示为“ChildItems”下的项目列表,并让 ChildItem 属性显示在每个 ChildItem 下方。
【问题讨论】:
-
如果您需要类型信息,您可以使用TypeNameHandling setting,但输出会与您请求的不同。
-
你能添加你的类的 sn-p 和你想要的输出吗?
-
这是我创建的一个示例:dotnetfiddle.net/ozJK9B。我想让“ChildItem”显示为“ChildItems”下的项目列表,并让 ChildItem 属性显示在每个 ChildItem 下方。
标签: c# json serialization