gpt4 book ai didi

c# - 不想 JSON 序列化整个类列表

转载 作者:太空宇宙 更新时间:2023-11-03 22:23:12 25 4
gpt4 key购买 nike

我的应用程序中有一个 IList 站点,并且站点有大量属性。

我想将此列表转换为 JSON,以便在类似于此的下拉列表中使用

    var sites = SiteRepository.FindAllSites();
return new JsonResult() { Data = sites, JsonRequestBehavior = JsonRequestBehavior.AllowGet };

我遇到的问题是我只想使用站点类的 id 和 name 属性。我在想一个解决这个问题的方法是使用一个“适配器”类,然后只公开这两个属性,然后我将其序列化。

我遇到的问题是我想使类通用,以便它可以处理任何对象列表。有没有人遇到过类似的情况并解决了?

编辑:我不能使用 [ScriptIgnore] 属性,因为在某些情况下我确实想要序列化整个类。

最佳答案

你能从你的网站列表中创建一个匿名类吗?

var sites = SiteRepository.FindAllSites().Select(x=> new { Id=x.Id, Name=x.Name});

FindAllSites()似乎返回一个 IList ,它来自 IEnumberable , 你应该可以使用 System.Linq的扩展方法(即 Select() )。这将改变 List<Site> (具有所有属性)到 IEnumerable<some_anon_class> (只有 2 个属性),然后将其提供给 JsonResult东西而不是 Site 的列表.

关于c# - 不想 JSON 序列化整个类列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2408682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com