【发布时间】:2018-09-27 12:31:45
【问题描述】:
我遇到了与 Json 响应相关的问题。 以下是响应示例:
public class ContentModel
{
public int? Total { get; set; }
public IEnumerable<ContentResultModel> Results { get; set; }
public FullContentModel Result { get; set; }
public IEnumerable<PaginationModel> Pagination { get; set; }
public IEnumerable<ContentCommentsModel> Comments { get; set; }
}
我不希望分页出现在响应中,如果它是空的。例如,当它为空时,我使用:
options.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
有没有类似的东西可以解决我的问题?我已经搜索过了,几乎每个人都使用正则表达式,但我想避免这种情况,并希望尽可能使用更直接、更简单的方法。
即使我说 pagination 属性为空,它总是会变为空。 谢谢。
【问题讨论】:
-
我怀疑您在搜索生成字符串后处理字符串的答案。 JSON.NET 虽然包含 很多 扩展点,允许您自定义事物的序列化方式
-
@DanielBeckmann 我认为不是。因为我不想每次需要时都继续这样做。而且会很多:\(如果我理解正确的话)
-
@BernardoF.Coelho 最后一个答案实际上涵盖了您的情况。
-
@PanagiotisKanavos 从我看到的情况来看,它对我有帮助,但是,我不想让 JsonConvert.SerializeObject(someObject, JsonSettings);每一次。那是我的问题。我的 API 很大,我想在启动时添加一些东西,可以在全球范围内更新。