我有以下需要填充的RootObject对象。
public class Document2
{
public string homecommunityid { get; set; }
public string repositoryid { get; set; }
public string documentuuid { get; set; }
public string doctype { get; set; }
}
public class Document
{
public Document2 document { get; set; }
}
public class RootObject
{
public List<Document> documents { get; set; }
}
我需要从以下DocumentQuery对象的列表中填充RootObject对象。
public class DocumentQuery
{
public string doctype { get; set; }
public string homecommunityid { get; set; }
public string repositoryid { get; set; }
public string documentuuid { get; set; }
}
我正在尝试做以下事情:
RootObject doc = new RootObject()
{
Document= obj.Select(s => new Document()
{
document = new Document2()
{
doctype = s.doctype
}
})
};
我需要能够以这种格式使用JSON:
{
"documents": [
{
"document": {
"homecommunityid": "",
"repositoryid": "",
"documentuuid": "",
"doctype": ""
}
}
]
}
答案 0 :(得分:1)
如果您不想使用Reflection等,可以使用以下代码:
List<DocumentQuery> queries = new List<DocumentQuery>();
// Fill queries
RootObject root = new RootObject();
foreach(var query in queries)
{
Document document = new Document()
{
document = new Document2()
{
homecommunityid = query.homecommunityid,
repositoryid = query.repositoryid,
documentuuid = query.documentuuid,
doctype = query.doctype
}
}
root.documents.Add(document);
}
答案 1 :(得分:0)
您可以使用AutoMapper解决此问题。
AutoMapper是一个简单的小型库,用于解决一个看似复杂的问题 - 摆脱将一个对象映射到另一个对象的代码。