gpt4 book ai didi

c# - 作为 json 返回时排除某些字段

转载 作者:行者123 更新时间:2023-12-02 08:26:03 25 4
gpt4 key购买 nike

我有一个 asp.net web api 应用程序。

现在假设应用程序由一个用户实体和一个帖子实体组成。帖子由用户撰写,因此每个帖子实体都包含对用户实体的引用。

class Post {

public int Id { get; set; }

public string Title { get; set; }

public string Content { get; set; }

public User User { get; set; } // Reference to the user that wrote the post
}

问题是当我想以 Json 形式返回帖子列表时。我不想在列表中包含帖子的作者,换句话说,我想从帖子列表中排除用户字段。

例子:

[
{
"Id": 1,
"Title": "Post A",
"Content": "..."
},
{
"Id": 2,
"Title": "Post B",
"Content": "..."
}
]

我知道我可以通过创建一个没有用户字段的名为 JsonPost 的新类,然后使用 linq 将 Post 列表转换为 JsonPost 列表来轻松地做到这一点,但我想在不创建新类的情况下解决它。

谢谢,阿里克

最佳答案

只需使用 Newtonsoft.Json 命名空间中的 [JsonIgnore] 属性标记 Post 的 User 属性,它就不会被序列化

using Newtonsoft.Json;
class Post {

public int Id { get; set; }

public string Title { get; set; }

public string Content { get; set; }

[JsonIgnore]
public User User { get; set; } // This property won't be serialized
}

关于c# - 作为 json 返回时排除某些字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32037555/

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