我正在尝试使用列表对象中的数据填充以下对象。
public class DocumentQueryObject
{
public Document[] documents { get; set; }
}
public class Document
{
public DocumentObj document { get; set; }
}
public class DocumentObj
{
public string homecommunityid { get; set; }
public string repositoryid { get; set; }
public string documentuuid { get; set; }
public string doctype { get; set; }
}
我需要这个能够构建以下JSON
{
"documents": {
"document": [
{
"doctype": "",
"homecommunityid": "2.16.470.1.100.1.1.1000.990.1",
"repositoryid": "2.16.470.1.100.1.1.1000.990.1",
"documentuuid": "91092"
}
]
}
}
所以我使用以下c#代码
DocumentQueryObject documents = new DocumentQueryObject()
{
documents = new[] {
new Document()
{
document = new []
{
obj.Select(s => new DocumentObj()
{
doctype = s.doctype
})
}
}
}
};
obj是
下面的DocumentQuery对象列表public class DocumentQuery
{
public string doctype { get; set; }
public string homecommunityid { get; set; }
public string repositoryid { get; set; }
public string documentuuid { get; set; }
}
所以我需要将这些多个DocumentQuery对象从列表中分配给DocumentQueryObject。
有人可以帮忙吗?
答案 0 :(得分:0)
您的Document
课程有 a DocumentObj
的属性,但您正在尝试创建DocumentObj
的数组
你应该这样做:
DocumentQueryObject documents = new DocumentQueryObject()
{
documents = new[]
{
new Document()
{
document = new DocumentObj()
}
}
};
虽然您尚未发布obj
是什么以及您想要实现的目标。虽然上述内容可能会消除您的错误,但您可能需要为问题添加更多上下文以获得更全面的答案。
如果您希望将文档作为集合,那么您可以按照@dbc在评论中的建议更改类:
public class Document
{
public List<DocumentObj> document { get; set; }
}
DocumentQueryObject documents = new DocumentQueryObject()
{
documents = new[]
{
new Document()
{
document =
obj.Select(s => new DocumentObj()
{
doctype = s.doctype
}).ToList()
}
}
};